Exemple #1
0
 /**
  * @inheritdoc
  */
 public function getDialogMessages(Message $dialog, $offset = null)
 {
     $subQuery = new Query();
     $messages = Message::find()->selectDate()->from("(" . $subQuery->select('*')->from('message')->where('({{message}}.from = :fid OR {{message}}.to = :fid) AND ({{message}}.from = :tid OR {{message}}.to = :tid)')->params([':fid' => $dialog->from, ':tid' => $dialog->to])->orderBy(['id' => SORT_DESC, 'created_at' => SORT_ASC])->offset($offset)->limit($this->limit)->createCommand()->getRawSql() . ") as m")->with(['sender', 'recipient', 'photos'])->orderBy('m.id')->all();
     return ArrayHelper::mapByColumn($messages, 'date');
 }