Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.01.2022 20:26:10

Нубские вопросы

Не так давно столкнулся с Laravel
и никак не возьму в толк. если надо выбрать все, модель отлично работает, но если нужны пара джоинов, например, то в чем разница между:
Model::where($id)
->select(...)
->join(...)
->first();
и
DB::table('table_name')
->select(...)
->join(...)
->where('id',$id)
->first();

просто красивый код, или я не понимаю и все эти запросы нужно где то в App\Models\model.php прописать и вызывать оттуда?

и закидайте меня, да чем хотите smile
но я это пишу это в методах контроллеров и отправляю во view, что то мне подсказывает, что это не совсем грамотно, хотя и работает. Смотрел на github, вроде бы попадается, что так же делают, но сомнения терзают.

Просветите нубаса, плиз, а то спать спокойно не могу ))

Не в сети

#2 12.01.2022 18:10:27

Re: Нубские вопросы

в первом случае используется ORM Eloquent, в которой лучше использовать отношения (прописываются в моделе)
во втором случае DB builder, тут уже собираешь запрос по кусочкам и он более близок к реальному sql

в обоих случаях работа с базой в контроллере моветон. вынеси хотя бы в отдельные классы работу с базой и с данными(репозитории, сервисы и куда еще угодно) - контроллер пусть будет тонкий, самому же потом легче читать код будет

ну и заодно советую почитать , но и это не панацея

Не в сети

#3 13.01.2022 09:57:57

Re: Нубские вопросы

куда-то делась ссылка из предыдущего сообщения
https://github.com/alexeymezenin/larave … russian.md

Изменено Eskono (13.01.2022 09:58:10)

Не в сети

Подвал раздела