【发布时间】:2017-06-20 15:51:20
【问题描述】:
我正在尝试在 CakePHP3 中进行 LEFT JOIN。 但我得到的只是“未关联”-错误。
我有两个表 BORROWERS 和 IDENTITIES。 在 SQL 中,这就是我想要的:
SELECT
identities.id
FROM
identities
LEFT JOIN borrowers ON borrowers.id = identities.id
WHERE
borrowers.id IS NULL;
我想这就是我需要的:
$var = $identities->find()->select(['identities.id'])->leftJoinWith('Borrowers',
function ($q) {
return $q->where(['borrowers.id' => 'identities.id']);
});
但我收到“身份与借款人无关”。
我也将此添加到我的身份表中:
$this->belongsTo('Borrowers', [
'foreignKey' => 'id'
]);
我还需要什么? 谢谢!
【问题讨论】:
-
$identities可能不是你想象的那样,例如它是一个自动表,它是\Cake\ORM\Table的一个实例,而不是它的具体子类。检查get_class($identities)。 stackoverflow.com/a/43143901/1392379
标签: sql cakephp join associations cakephp-3.0