此問題與Find conditions like 'NOT EXISTS'類似,只是它與hasMany關係一起工作。查找條件'NOT EXISTS'for has many relationship
的表是:
問題 ID BIGINT ...
回答 ID BIGINT question_id BIGINT ...
的關係是問題的hasMany答案。
該查詢是查找沒有答案的問題ID。
SQL可能看起來像
select id from questions where not exists
(select * from answers where answers.question_id = questions.id)
快速的方法是隻運行一個查詢()的發言,但我想知道是否有一個CakePHP的方式。
我想避免一個NOT IN的情況,因爲這可能導致兩個命中數據庫;一個爲所有問題提供所有問題ID,另一個爲沒有答案的問題提供所有問題ID。
另一種方法可能是將條件數組中的整個where子句作爲單個條目。我只是不確定這是否是最佳做法。
+1用於顯示我從未見過的CakePHP功能。 – Reuben