我有hasMany通过表聊天模型的聊天表,我在用户控制器中使用loadModel加载聊天模型然后在查询下运行bindModel与Chat.user_id和User.id:
$this->loadModel('Chat');
$this->Chat->bindModel(array(
'belongsTo' => array(
'User' => array(
'foreignKey' => false,
'conditions' => array('Chat.user_id = User.id')
)
)
));
$lastChat = $this->Chat->find('all', array(
'conditions' => array(
'Chat.receiver_id' => $user_id['User']['id']
),
'order' => array('Chat.id DESC'),
'fields' => array(
'Chat.id',
'Chat.chat',
'Chat.user_id',
'Chat.receiver_id',
'Chat.read',
'Chat.created'
),
'group' => array('Chat.user_id')
));
我想将这些表连接在一起,但这似乎不能以Cake方式工作,我尝试使用普通的SQL查询,它运行正常。
这里可能有什么问题?
答案 0 :(得分:0)
您是否尝试在查找之前设置递归属性?例如:
$this->Chat->recursive = 3;
您可能需要在$this->Chat->bindModel
之后设置此项,但我不确定这是否会有所作为。如果您的查找查询在循环中运行,您还需要在每次查找之前重新绑定User模型...