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

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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы