0
我已經工作這個問題這整個週末,我似乎無法找到解決的辦法。 我有三個型號:CakePHP的空屬於關聯和的hasMany關係陣列
用戶類別:
class User extends AppModel {
var $hasMany = array('Like','Event');
}
像類:
class Like extends AppModel {
var $belongsTo = array ('Event','User');
}
事件類:
class Event extends AppModel {
var $belongsTo = 'User';
var $hasMany = 'Like';
}
這是我發現的聲明:
我喜歡錶:
id(int 10)
user_id(int 10)
event_id(int 10)
我的用戶表有:
id(int 10)
plus all regular user related column
我的事件表有:
id(int 10)
user_id (int 10)
Plus all other event related columns
現在的問題:
[0]
[Like]
id:77
user_id:30
event_id:130
[Event]
id(null)
user_id(null)
title(null)
date(null)
etc......
[User]
id:30
email:********@gmail.com
password:**********************
created:2013-07-07 23:45:13
modified:2013-07-07 23:45:13
etc.........
這是我的查詢:
SELECT `Like`.`id`, `Like`.`user_id`, `Like`.`event_id`, `Event`.`id`, `Event`.`user_id`, `Event`.`title`, `Event`.`date`, `Event`.`price_advance`, `Event`.`price_door`, `Event`.`price_vip`, `Event`.`created`, `Event`.`bcg_img`, `Event`.`event_info`, `Event`.`event`, `Event`.`phone1`, `Event`.`phone2`, `Event`.`promoter`, `User`.`id`, `User`.`email`, `User`.`password`, `User`.`created`, `User`.`modified`, `User`.`isAdmin`, `User`.`verified`, `User`.`full_name` FROM `quadb`.`likes` AS `Like` LEFT JOIN `quadb`.`eventss` AS `Event` ON (`Like`.`event_id` = `Event`.`id`) LEFT JOIN `quadb`.`users` AS `User` ON (`Like`.`user_id` = `User`.`id`) WHERE 1 = 1
我不知道爲什麼我的事件數組返回null。任何幫助將不勝感激。
編輯 改變查找代碼中添加一個訂單條款後,它奇蹟般地工作,我不知道爲什麼:
$this->set('likes', $this->Like->find('all', array(
'order' => array('Like.created' => 'DESC'),
'contain'=>array('Quad'))));
什麼是輸出的查詢,設置調試級別爲3。並共享查詢。 – Anubhav
我添加了上面的查詢字符串。 – Nick
eventss不正確,正確的表將是事件,請檢查您的查詢 – Anubhav