@procode
Разработчик

Если в одном контроллере Laravel нужно получить данные от множества моделей — как лучше группировать код?

Здравствуйте.

Допустим мне в IndexController нужно получить и отправить во вьюху данные из моделей Car, Wheel, Glass, Door - как принято делать:

- Просто получать все данные в одной функции и отправлять во вьюху?

- Или на каждую модель писать отдельную функцию типа getCars - а потом эти функции вызывать внутри метода, который прописан в роутере, и таки отправлять во вьюху?

Как вы обычно делаете такое и почему?

Спасибо.
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
@jazzus
Если код не повторяется, то в одном методе и отправлять во вьюху.
Если повторяется в пределах контроллера, я выношу в отдельный метод
public function getUsers()
{
     return User::all();
}

И потом получаю в любом методе
$this->getUsers();
Если повторяется в пределах приложения, выношу в трейты. Это удобно т.к. меняешь в одном месте, а не в 10.
Если код не сложный или изменений не предвидится, никуда не выношу, даже если повторяется.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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