Как через query builder собрать вот такой mysql запрос?
SELECT t1.* FROM tsg_message t1 INNER JOIN (
SELECT chat_id, MAX(created_at) AS max_created_at FROM tsg_message GROUP BY chat_id
) t2
ON t1.chat_id = t2.chat_id AND t1.created_at = t2.max_created_at
Если это важно, то данный запрос мне нужен в SearchModel для группировки сообщений по признаку chat_id и мне нужно, чтобы в группировку попадали только самые последние сообщения. Есть у кого-нибудь идеи?
Решение данного вопроса:
$subQuery = Message::find()
->select(['chat_id', 'MAX(created_at) AS max_created_at'])
->groupBy('chat_id');
$query = Message::find();
$query->alias('t1');
$query->innerJoin(['t2' => $subQuery], 't1.chat_id = t2.chat_id AND t1.created_at = t2.max_created_at');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
есть в yii2 такая вещь как rbac, в ней есть таблица auth_item_child, в ней поля parent и child, в эти поля можно вставить только значения из таблицы auth_item, поля...
Имеется VPS - Windows Server 2016