You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Admin模块加载订单当前状态报错:关联未找到的解决方案问询

解决Shopware Admin中加载订单当前状态的关联错误问题

核心问题是你的关联写法没正确处理层级关系:stateMachineState是订单(order)的关联字段,并非当前实体(fe_pa_conversion)的平级关联,所以直接平级调用addAssociation会提示找不到关联。

正确的关联加载写法

如果只是需要加载订单当前状态用于展示,要把stateMachineState嵌套在order关联下:

this.repository = this.repositoryFactory.create('fe_pa_conversion');
const criteria = new Criteria();
// 嵌套加载订单的stateMachineState关联
criteria.addAssociation('order.stateMachineState');
// 若还需状态机的详细信息(比如technicalName),继续嵌套stateMachine
criteria.addAssociation('order.stateMachineState.stateMachine');

正确的过滤写法

如果要根据订单状态机的technicalName过滤数据,过滤条件的字段路径必须对应完整的嵌套关联层级:

this.repository = this.repositoryFactory.create('fe_pa_conversion');
const criteria = new Criteria();
// 先加载所需关联
criteria.addAssociation('order.stateMachineState.stateMachine');
// 过滤条件的路径要完整指向目标字段
criteria.addFilter(Criteria.equals('order.stateMachineState.stateMachine.technicalName', 'order.state'));

关键注意点

  • 关联字段名称必须和实体定义中的关联名称完全一致,确认你的订单实体中当前状态的关联字段确实是stateMachineState
  • 多层关联必须用.做嵌套,不能平级调用addAssociation

内容的提问来源于stack exchange,提问作者Gitte Wange Olrik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:18:41