如何在 shopware 6 中搜索已翻译的实体?
How to search through a translated entity in 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 : Field "name" in entity "property_group_option" was not found.
如何在一般情况下和在这种特定情况下搜索已翻译的实体?
编辑:
这应该有效
$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));
另见
我们想以编程方式在 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 : Field "name" in entity "property_group_option" was not found.
如何在一般情况下和在这种特定情况下搜索已翻译的实体?
编辑:
这应该有效
$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));
另见