【发布时间】:2016-10-18 06:58:17
【问题描述】:
我有两个表:汽车和用户
汽车可以有一个所有者 -> 表用户的外键 和驱动程序(可以与所有者不同)-> 也是用户的外键
假设我有一个特定的理由使用这个查询:
$cars= json_encode($this->Cars->get($carsid[0]['id'], [
'contain' => ['Color','Model']
]),JSON_HEX_APOS);
如果我在包含中添加“用户”,我将获得所有者用户而不是驱动程序
如何获取驱动程序?
我尝试过 innerJoin 和匹配,但它似乎与 get 方法一起工作
【问题讨论】:
-
您是否在 CarsTable 中设置了 Cars 属于 Drivers?如果是这样,您只需执行
'contain' => ['Driver', 'Model' ...] -
Driver 是表 Cars 中的一列,而不是表 @arilia
-
我知道这不是一张桌子。不过,您可以将 CarsTable 关联到 UsersTable,并告诉 cake 它应该将其称为 Drivers。看我的回答
标签: orm cakephp-3.0