169 похожих чатов

С построением запросов через Query Builder у меня не возникает

вопросов, но вот Eloquent кажется мне замудреным и требующим больше времени. Не понимаю пока (не имея опыта) почему он чаще используется. Но так как чаще - то пытаюсь учить его и вот значит какой вопрос. Есть у меня запрос с объединением нескольких таблиц. Я создал Eloquent моделяи для каждой таблицы, прописал соотношения между ними и пытаюсь с помощь GPT переписать этот запрос, но получаются на 80-90% тоже самое. Это GPT тупит или реально сложные запросы нужно писать через Query Builder и не выкручивать себе мозх?

18 ответов

22 просмотра

елка - связи, а ты сырой запрос пишешь сначала разберись со связями

Oleg- Автор вопроса
Vladyslav
елка - связи, а ты сырой запрос пишешь сначала раз...

Я же писал что GPT мне подсказывает елка-запрос который почти ничем не отличается от сырого. Вот я и спрашиваю это GPT гонит или тут реально никак не упростить?

Oleg
screenshot Я же писал что GPT мне подсказывает елка-запрос ко...

ну а я же писал о том что тебе нужно прочитать документацию ларавеля и разобраться что такое елка и связи

Oleg
screenshot Я же писал что GPT мне подсказывает елка-запрос ко...

chatgpt - чат-бот, а не разработчик. елка - не упрощение/улучшение сырых запросов, это ORM в первую очередь. которая использует QueryBuilder, поэтому тебе бот и написал тот же код только с использованием модели, где table() само подставило. а касательно твоего вопроса - не все выборки пишут на моделях, если тебе ORM не нужна и функциональность елки приносит проблему, то нет проблем отказаться и составить запрос на QB или вообще чистым SQL самому написать. в твоем примере можно на связи перейти. в документации всё есть. у тебя джойнится таблица категорий - это обычная связь. таблица адресов - для выборки, у елки тоже есть методы, что бы выбирать по связи. прежде всегда надо понять что такое ORM в чем ее бонусы и будет понятнее когда ее юзать, а когда нет.

PSYTRGLES
chatgpt - чат-бот, а не разработчик. елка - не упр...

Кстати, получается что если проект разрастается до уровня хайлоад, то нужно запросы ёлки переписывать на DB:: ?🤔 Почему так думаю - ёлка при джоине таблицы делает два отдельных запроса + на уровне пхп соединяет в коллекцию.. а через сырой запрос одним запросом всё

Дмитрий Кондрашов
на ларе бывает хайлоад?

Хз, хз) Как минимум слышал то, что для апи проекта можно отключить веб сессии, и будет чуть быстрее всё летать)

Oleg- Автор вопроса
PSYTRGLES
chatgpt - чат-бот, а не разработчик. елка - не упр...

Спасибо за ответ! Правильно ли я понимаю, что елка упрощает простые запросы к одной таблице или же сохранение/изменение через save(), но если есть запрос с объединением 2 и более таблиц, можно использовать фасад и это не будет считаться говнокодом? Или же если в проекте используется елка и я влезу с фасадом меня зачмырят?

Василий 🇺🇦❤️
Кстати, получается что если проект разрастается до...

"один запрос быстрее двух" - это не обязательно. много мелких запросов против одного жирного. это относительная проблема, особенно если речь начнет заходить о конкурентной среде. "хайлоад" в мире пхп, это все конечно прекрасно, но ларка это жирный жир и не про скорость. а вообще да, отказываются от ORM. иногда имеет смысл сразу написать запрос на чистом билдере, если тебе не нужна вся функциональщина ORM, прирост на чтении более 1К записей обычно сильно выигрывает елку. разница уже заметна на выборках в 100 записей, но вопрос с десятитысячных секунды, а вот на 1К+ уже до сотых-десятых разница будет. "ёлка при джоине таблицы делает два отдельных запроса" нет, join это оператор SQL. два запроса ларка делает в связях. объединение таблицу в одну выборку и загрузка двух таблиц по связи как разные сущности это не одно и тоже. объединять таблицы удобно для агрегаций и сложных выборок, например, фильтраций и если ты хочешь загрузить посты с комментариями, это не значит, что надо джоинить таблицы post и сomments, работать с этим будет не удобно как минимум.

Oleg
Спасибо за ответ! Правильно ли я понимаю, что елка...

имхо, просто так отказываться от елки, если используешь лару - нет смысла. если использование DB оправдано - то это верное решение, как и любое другое. а если грубо, то да, орм это для удобства работы с данными бд на уровне твоего приложения. https://laraway.github.io/eloquent-vs-db/

PSYTRGLES
имхо, просто так отказываться от елки, если исполь...

а если не используешь лару но хочешь использовать елку?

PSYTRGLES
было дело. прекрасно вписалась )))

по итогу свою лару собрал в конце?

Vladislav Bulgakov
по итогу свою лару собрал в конце?

чесн говоря хз какая там судьба постигла тот проект, наверняка к этому все и пришло

Oleg- Автор вопроса
PSYTRGLES
имхо, просто так отказываться от елки, если исполь...

Почитал по ссылке!!! Нифига се разница!!!!! И нафига тогда эта елка нужна? Буду использовать фасад и пусть только меня попробуют упрекнуть ))

Oleg
Почитал по ссылке!!! Нифига се разница!!!!! И нафи...

а она тебе нужна? ты постоянно выбираешь 10К записей?

PSYTRGLES
а она тебе нужна? ты постоянно выбираешь 10К запис...

да причем это тесты из разряда лара в 10000 раз медленее загружается и в пример приводят две строчки запускающие сервер на nodejs без какого либо функционала))

Roman Kolosov
да причем это тесты из разряда лара в 10000 раз ме...

ну там как бы сравнивается запрос через фасад и елку. ну понятно что елка будет дольше работать, там куча абстракций у модели

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта