0
我知道這是一個古老的quastion,但我似乎無法讓它工作。如何在hasMany關聯中使用CakePHP 2查找?
我有這方面的關係:
用戶的hasMany負責
責任屬於關聯用戶
我需要,通過我的用戶模型,執行找到這樣:
$users = $this->User->find('all', array('conditions' => array('Responsible.email' => $responsible_email));
但這韓元」 t工作,它會拋出一個「未知列'Responsible.email'在哪裏clouse」。
我真正的代碼是這樣的:
$conditions = array();
if (!empty($params['filter_by_name'])) {
$conditions[] .= "LOWER(CONCAT(Profile.name, ' ', Profile.surname)) LIKE '%".$params['filter_by_name']."%'";
}
if (!empty($params['filter_by_email'])) {
$conditions[] .= "LOWER(User.email) = '".$params['filter_by_email']."'";
}
if (!empty($params['filter_by_responsible_email'])) {
$conditions[] .= "LOWER(Responsible.email) = '".$params['filter_by_responsible_email']."'";
}
$results = $this->User->find('all', array('conditions' => $conditions));
我已搜查,並在許多方面嘗試過,但我不能讓它工作,我該怎麼辦呢?
編輯:
我能夠做到這一點與中容納,但它也將返回用戶與空...負責
從我記得你應該可以做一個$ this-> User-> Responsible-> findAllByEmail($ responsible_email);你應該得到一個用戶的答案 – 2012-08-13 00:32:42
它應該工作,如果你設置'$ this-> User-> recursive = 1;'查詢之前,假設你的關聯設置正確,但它可能會更好使用可容納的。 – 2012-08-13 00:34:36
@DavidGallagher它不起作用,因爲當您在hasMany關係中搜索時Cake不會執行聯接 – 2012-08-13 00:37:46