Представьте, что у меня есть PostController и CommentController, конечно же, у меня есть модель Post и модель Comment. Поэтому теперь я получаю запрос на внесение некоторых изменений как в модель «Пост», так и в модель «Комментарий» (может быть, эта логика модификации объединяет не только две модели, но и 3, 4, 5 или даже больше), поэтому не следует правильно писать логику в «Пост» или «Комментарий». контроллеры. Так, где я должен написать эту логику? я должен сделать новый контроллер?
Вы должны попробовать шаблон хранилища.
Идея этого шаблона состоит в том, чтобы отделить слой логики от контроллеров, каждая модель имеет хранилище со своей логикой, также каждый логический уровень, каждое хранилище может иметь другой уровень для хранения запросов к БД (уровень базы данных).
Затем вы можете вставить эти репозитории в контроллеры, через внедрение зависимостей в конструктор каждого, у вас будет меньше кода в контроллерах, логика более тестируема, и вы можете совместно использовать логику в более чем одном контроллере, не повторяя ее ,
Проверьте на это сообщения:
Вы должны использовать отношения по моему мнению.
Пожалуйста, проверьте документацию: https://laravel.com/docs/5.7/eloquent-relationships
Затем вы можете легко получить доступ и обновить оба, используя один контроллер.