Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
$names = YourTable::select('name')->latest()->distinct()->paginate(10);
нет это не то, я уже написал свой запрос, там оказалось на много проще и без distinct().
а! only full group by – это вообще-то правильно, большинство СУБД требуют этого, только mysql допускает вольности. можно вернуть strict mode и заменить name в select на max(name)
делал max(name) и пишет что такого столбика нет в бд
кажется частично разобрался, ошибку выбивало из-за мода mysql, в конфигах прописал 'modes' => [], и все норм
Это я и сам видел, но там мало описания, и просто так вставив оно не работает как надо.
так может сам по себе этот запрос работает не так как надо? я вот смотрю на описание задачи, на запрос и в упор не понимаю зачем там вообще нужен distinct? group by уже сам по себе гарантирует что все одинаковые имена «соберутся» в одну единственную запись и будут уникальны
потому что ошибку выбивает груп бай
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'social.facebook_m.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (SQL: select * from `facebook_m` where `user` = 4 group by `chat` order by `time` desc limit 10 offset 0)
Это я и сам видел, но там мало описания, и просто так вставив оно не работает как надо.
И так как я мало знаю ларавель, я обратился за помощью...
Добрый день. Суть вопроса:
Есть таблица, к примеру (id, name, time). Нужно написать запрос на ларе таким образом, что бы выводились только уникальные имена,
отсортировать по time DESC и paginate->(10)
Что то примерное придумал на чистом SQL, не знаю правильно ли, но не могу его на ларавеле написать:
Скорее всего не правильный, но все таки, как такой запрос написать на ларавеле:
SELECT DISTINCT max(time), name FROM `table` GROUP BY name ORDER BY time DESC
Или подскажите, более правильный запрос для моей задачи.
p.s.: последняя версия ларавеля, если вдруг это важно