如何在 shopware 6 中搜索翻译的实体?

问题描述

我们想以编程方式在 Shopware 6 中搜索翻译后的名称并想出了这个:

$criteria = (new Criteria())
   ->addAssociation('property_group_option_translation.name')
   ->addFilter(new EqualsFilter('name',$value))
   ->addFilter(new EqualsFilter('id',$propertyGroupId));

return $this->propertyGroupOptionRepository->search($criteria,Context::createDefaultContext())->getEntities()->first();

但是我们得到了

Shopware\Core\Framework\DataAbstractionLayer\Dbal\Exception\UnmappedFieldException:未找到实体“property_group_option”中的字段“name”。

如何在一般情况下以及在这种特定情况下搜索已翻译的实体?

解决方法

编辑:

这应该有效

$criteria = (new Criteria())
    ->addAssociation('property_group_option_translation')
    ->addFilter(new EqualsFilter('property_group_id',$propertyGroupId))
    ->addFilter(new EqualsFilter('name',$value));

错误的旧答案

这不起作用:

$criteria = (new Criteria())
    ->addFilter(new EqualsFilter('property_group_id',$propertyGroupId))
    ->getAssociation('property_group_option_translation')
       ->addFilter(new EqualsFilter('name',$value));

另见

https://stackoverflow.com/a/67649705/288568

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...