Anton
Ну я так понимаю сложность только с текстом последнего :)
Anton
все остальное то легко выбирается...
Vladimir
С подзапросом все просто
select * from messages <?php foreach... не благодари
🇺🇦 Edward
Ребят, на локалке все норм, а на сервере не работает artisan storage:link, точнее не выполняет свои функции.В чем может быть дело?
🇺🇦 Edward
Права
какое решение?
Oleh
Но не факт что в правах дело, ни ошибок, ни лонов
Oleh
Мы же не экстрасенсы
🇺🇦 Edward
Чмод
Его на две папки кидать или только на одну?
Anton
select * from messages <?php foreach... не благодари
Задание не читаем, сразу пишет - "разминка мозгов по SQL"
Anton
то есть нужен запрос в БД
Anton
ну и это чисто академический вопрос... не проектный
Roman
деньги к деньгам
Timur
ну и это чисто академический вопрос... не проектный
Примерно так делал? SELECT user_id, MAX(ts) as last_message_ts, COUNT(message) as messages_count, message GROUP BY user_id
Timur
Мне чисто интересно. Тут вопрос с последним сообщением
Timur
Оно возьмётся первое или последнее при группировке
Alexander
max ts выдаст максимальный для всех записей
Alexander
а не для группы
Alexander
при группировке будет первое
Timur
Точно? То есть Макс по сути не очень то полезная вещь раз берет со всей таблицы
Timur
Я не уверен что Макс не возьмёт по группе
Alexander
нет, с временем возможно и будет максимальное но оно не решит вопрос последнего сообщения
Alexander
потому что оно будет все равно первым
Anton
Вроде как все отлично max(ts) выдает именно максимальное значение для группы, сгрупированной по group by усорвию
Anton
если просто в селекте написать message - то конечно не это будет не последее
Timur
Будет первое?
Anton
в некоторых базах данных, даже нельзя вставить в SELECT то чего нет в групбай или агрегации
Timur
Всегда интересно было как именно схлопывается
Anton
Кароче есть извразенное решение
Anton
Хотите?
Vladimir
Хотите?
group_concat separator "\0" ?
Timur
Не агрегируемые поля не могут группироваться. Либо указывай каждое поле из селекта в групп бай
🇺🇦 Edward
Ребят, смотрите какая штука: Есть локалка, а в ней папки: /public /storage/app/public Я делаю сохранение файла так: request()->file('cover_image')->storeAs('public/avatars/cover_images', $fileNameToStore); оно попадает в папку /storage/app/public/avatars/cover_images А потом само как-то копируется в /public И все отлично работает. На сервере ситуация следующая: есть корень /otzovik/storage/app/public/avatars/cover_images (аналог на локалке: /storage/app/public) а так же /public_html/storage/ (аналог на локалке: /public) На сервере при сохранении фото попадает в /otzovik/storage/app/public/avatars/cover_images , но НЕ попадает /public_html/storage/ . Если руками перетащить фото то все норм. Что можно сделать?
Alexander
Красава!!!!
типо SUBSTRING_INDEX(GROUP_CONCAT(message), ',', -1) ?
Anton
типо SUBSTRING_INDEX(GROUP_CONCAT(message), ',', -1) ?
ну ключевое тут group_concat, а потом тебе просто последний кусок надо вырезать
Alexander
ясно
Anton
Сразу предупреждал - не продакшен задача, а академическая
Anton
если кто такое в продакшене сделал бы - я бы ему руки вырвал бы :)
Alexander
Ну в продакшен я бы так не делал :D Учитывая например даже 10к сообщений
Anton
Ну все это понимают... Я бы даже вложенный скорее всего не делал на продакшене, а в два запроса бы сделал
Anton
пусть лишний раундтрип до mysql, зато mysqlю попроще
Anton
его сложнее шардить, чем еще wwwшек навтыкать
T.A
хочу добавить авторизацию по гуглу используя эту статью, но не могу правильно подобрать все ключи
T.A
T.A
вот что есть у меня сейчас в гугл консоли
T.A
можно ссылку?
T.A
спасибо
Nik
select * - здесь
Nik
что нет?
Anton
не будет там последнего
Nik
ORDER BY ts DESC - да ладно
Anton
Там будет первое или вообще рандомное
Nik
нужна песочница поигратся. можно пробовать сделать через джойн самого на себя
­
Есть такая проблема, при обновлении страницы повторно отправляется форма, как бороться с этим? Жедательно без костылей.
Anton
хмхм
Ну да, неопределенное поведение
T.A
при заполнении модели с такими полями, ругаться не будет, что нет дефолтных значений? или нужно для каждого поля добавить nullable?
Владислав
будет , если ничего не передавать
Anonymous
+
T.A
блин
T.A
даже не знаю, удобно ли это нововедение или нет
Владислав
так всегда было
T.A
вроде безопасно
Anonymous
Вроде да, или default (null), или nullable, ну на 5.4 точно было
T.A
можно вопрос не по теме? что за шрифт?
пожалуйста https://github.com/tonsky/FiraCode
Dmytro 🇺🇦
Спасибо
T.A
T.A
T.A
T.A