首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在CakePHP 3中的关联模型上查找条件

在CakePHP 3中的关联模型上查找条件
EN

Stack Overflow用户
提问于 2016-09-18 21:24:07
回答 1查看 2.8K关注 0票数 3

我有两张桌子orderssub_orders。它们的关联性是

$orders->hasMany('SubOrders', [
   'foreignKey' => 'order_id'
]);

这两个表在orderssub_orders中分别有invoice_nosub_invoice列。

我必须从包含相关sub_ordersorders表中查找记录,其中$trackingId将匹配Orders.invoice_noSubOrders.sub_invoice

$findOrder = $this->Orders->find('all', [
    'conditions' => [
      'OR' => [
         'Orders.invoice_no' => $trackingId,
         'SubOrders.sub_invoice' => $trackingId
       ]
     ],
     'contain' => [
        'SubOrders'
     ]
  ]);

但这会产生错误

Column not found: 1054 Unknown column 'SubOrders.sub_invoice' in 'where clause'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-18 23:24:50

尝试像这样执行查询:

$findOrder = $this->Orders->find()
->where(['Orders.invoice_no' => $trackingId])
->contain(['SubOrders' => function ($q) use ($trackingId) {
   return $q

        ->where(['SubOrders.sub_invoice' => $trackingId]);
}
]);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39558115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档