1
我有一個用戶模型,它與個人檔案模型有hasOne關係。我想找到沒有與他們關聯的用戶。我不知道counterCache是否適用於hasOne關係,或者有適當條件的更好方法。CakePHP找到hasOne Model關係的項目沒有關聯的項目
我有一個用戶模型,它與個人檔案模型有hasOne關係。我想找到沒有與他們關聯的用戶。我不知道counterCache是否適用於hasOne關係,或者有適當條件的更好方法。CakePHP找到hasOne Model關係的項目沒有關聯的項目
我相信hasOne
關係會在SQL語句中創建一個LEFT JOIN
。可以說,爲您找到生成的SQL看起來是這樣的(假設有多個列雖然):
SELECT User.id, User.name, Profile.id
FROM users AS User
LEFT JOIN profiles AS Profile
ON Profile.user_id = User.id;
所有你需要做的就是添加一個WHERE子句:WHERE Profile.id IS NULL
無與倫比行。因此改變你的CakePHP代碼爲
$this->User->find('all',array(
'conditions' => array('Profile.id' => 'NULL')))
事實上,我一直在做這與hasMany關係,返回一個空的數組,而不是一個單一的結果! 'NULL'也可以是php null。 – Mohsenme 2014-11-23 16:06:01