Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Не так давно столкнулся с Laravel
и никак не возьму в толк. если надо выбрать все, модель отлично работает, но если нужны пара джоинов, например, то в чем разница между:
Model::where($id)
->select(...)
->join(...)
->first();
и
DB::table('table_name')
->select(...)
->join(...)
->where('id',$id)
->first();
просто красивый код, или я не понимаю и все эти запросы нужно где то в App\Models\model.php прописать и вызывать оттуда?
и закидайте меня, да чем хотите
но я это пишу это в методах контроллеров и отправляю во view, что то мне подсказывает, что это не совсем грамотно, хотя и работает. Смотрел на github, вроде бы попадается, что так же делают, но сомнения терзают.
Просветите нубаса, плиз, а то спать спокойно не могу ))
Не в сети
в первом случае используется ORM Eloquent, в которой лучше использовать отношения (прописываются в моделе)
во втором случае DB builder, тут уже собираешь запрос по кусочкам и он более близок к реальному sql
в обоих случаях работа с базой в контроллере моветон. вынеси хотя бы в отдельные классы работу с базой и с данными(репозитории, сервисы и куда еще угодно) - контроллер пусть будет тонкий, самому же потом легче читать код будет
ну и заодно советую почитать , но и это не панацея
Не в сети
куда-то делась ссылка из предыдущего сообщения
https://github.com/alexeymezenin/larave … russian.md
Изменено Eskono (13.01.2022 09:58:10)
Не в сети
Страницы 1