2014-11-23 53 views

回答

3

我相信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'))) 
+1

事實上,我一直在做這與hasMany關係,返回一個空的數組,而不是一個單一的結果! 'NULL'也可以是php null。 – Mohsenme 2014-11-23 16:06:01