php - 如何在 Shopware 6 中建立关联?
问题描述
基本上我想要这个 SQL 返回的相同结果:
SELECT id FROM property_group_option opt
LEFT JOIN property_group_option_translation tra
ON opt.id = tra.property_group_option_id
WHERE opt.property_group_id = <id> AND tra.name = "<name>"
Shopware 文档中描述的方法似乎没有得到正确的结果。我尝试了以下方法:
$criteria = (new Criteria())
->addFilter(new EqualsFilter('property_group_id', $propertyGroupId))
->getAssociation('property_group_option_translation')
->addFilter(new EqualsFilter('name', $value));
$result = $this->propertyGroupOptionRepository->search($criteria, Context::createDefaultContext())->first()->getId();
我确实找到了一种解决方法,它似乎不是要走的路(也不是最好的表现),但它确实返回了正确的结果。
$criteria = (new Criteria());
$criteria->addFilter(new EqualsFilter('name', $value));
$criteria->getAssociation('property_group_option')
->addFilter(new EqualsFilter('groupId', $propertyGroupId));
$translation = $this->propertyGroupOptionTranslationRepository->search($criteria, Context::createDefaultContext())->first()
if($translation !== null) {
$criteria = (new Criteria([$translation->get('propertyGroupOptionId')]));
$result = $this->propertyGroupOptionRepository->search($criteria, Context::createDefaultContext())->first()->getId();
}
有没有合适的解决方案?
解决方案
您正在使用表名。尝试改用型号名称。
推荐阅读
- excel - 匹配工作表 1 和 2 上的单元格并将值从工作表 2 上的单元格返回到工作表 1 上的新单元格
- django - 当 React 请求 Django API 时,发生 net::ERR_SSL_PROTOCOL_ERROR
- api - 使用 Postman 对 Shopware 5 的 REST 请求进行身份验证失败
- reactjs - 在 nextjs 项目中加载 gltf 文件配置错误
- typescript - 根据可变参数类型推断返回类型
- c# - 使用 nswag 生成一个包含 swashbuckle 自定义操作过滤器的 openAPI 文档
- python - 在 Python 中将第三维添加到二维数组
- javascript - 如何在 RN 中模拟原生模块
- typescript - TypeORM 定义关系和额外名称(我得到 columnNameColumnName)
- fpga - 从 FPGA 触发 DPDK/DPAA2 的数据包传输