假设Candidates
有一个名为Ratings
的字段。
该关联是可选的。
我希望所有Candidates
的评分都不是0,或者根本没有评分
并在结果中包含评级。
我设法通过编码左外连接来获得第一部分的正确查询:
$this->Candidates
->find('all')
->leftJoin(
['Ratings' => 'ratings'],
[
'Ratings.candidate_id = Candidates.id',
'Ratings.rating = 0',
],
['Ratings.rating' => 'integer'])
->where('Ratings.id IS NULL');
但是我未能在结果中获得包含的评级。怎么办?
答案 0 :(得分:0)
您是否在查询中添加了contain()
?
$this->Candidates
->find('all')
->contain('Ratings')
->leftJoin(
['Ratings' => 'ratings'],
[
'Ratings.candidate_id = Candidates.id',
'Ratings.rating = 0',
],
['Ratings.rating' => 'integer'])
->where('Ratings.id IS NULL');