I am using cakePHP version 3.x.
When i query the MessagesTable i want to get the Users data for the the sender and the receiver of the message. I have done this many tim
Thank you for your help @drmonkeyninja. I have found what was wrong, all i needed to do was call the Users associations i defined in the MessagesTable, i feel so stupid now.
MessagesTable
$this->belongsTo('Sender', [
'className' => 'Users',
'foreignKey' => 'sender_id',
'propertyName' => 'Sender',
]);
$this->belongsTo('Receiver', [
'className' => 'Users',
'foreignKey' => 'user_id',
'propertyName' => 'Receiver'
]);
The query that works:
$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([
'Sender',
'Receiver'
])
;