Код: Выделить всё
$query = Dialog::find();
$query->joinWith(['messageLast']);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'pageSize' => 20,
],
'sort'=> [
'attributes' => [
'user1',
'user2',
'theme',
'updated_at',
'messages.date_add'
],
'defaultOrder' => [
'messages.date_add' => SORT_DESC,
]
],
]);
Код: Выделить всё
public function getMessageLast(){
return $this->hasOne(Message::className(), ['dialog_id' => 'id'])->orderBy('date_add DESC');
}
Пробовал добавлять ->distinct() тогда выводит 20 записей как надо, но не сортирует по полю 'messages.date_add' => SORT_DESC , такая же ситуация с group by.
А если сам sql запрос ввести в консоль, то выводит как надо 20 записей с сортировкой. Наверно что то с ActiveDataProvider