【发布时间】:2015-06-19 01:02:55
【问题描述】:
我使用的是 cakePHP 版本 3.x。
当我查询 MessagesTable 时,我想获取消息的发送者和接收者的用户数据。我在 cakePHP 2 中做过很多次,但我不知道为什么它在 3.x 版中不起作用。
我有一个 UsersTable 和一个 MessagesTable。
用户表
$this->hasMany('Messages');
消息表
$this->belongsTo('Users', [
'foreignKey' => 'sender_id',
'propertyName' => 'Sender',
]);
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'propertyName' => 'Receiver'
]);
这是我正在使用的查询
$messages = $this->Messages->find()
->where(['Messages.user_id' => $this->Auth->user('id')])
->orwhere(['Messages.sender_id' => $this->Auth->user('id')])
->order(['Messages.created' => 'DESC'])
->contain([
'Users.Pictures',
]);
我正在取回 Receiver 数据,但也没有 Sender 数据。任何帮助将不胜感激
【问题讨论】:
标签: php cakephp cakephp-3.0 model-associations belongs-to