问题描述
我们想以编程方式在 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));
另见