Не так давно начал изучать laravel, и в ходе изучения возникла проблема с моделями. Как известно, в последних версиях laravel папка Моdels отсутствует. Так вот, где теперь корректно держать классы и как организовать это всё для корректной автозагрузки?
Например, когда через artisan я создаю контроллер, в него автоматом прописываются используемые пространства имён, он наследует определённый класс.
А как такое же реализовать в модели? Чтобы автоматически подрубалось всё что нужно? make:model создаёт модель и наследует Eloquent, которая как я понял относится к БД.
Вопрос номер 2. Как передать объект класса Request в модель из контроллера? Допустим, модель принимает этот объект, разбирает его в массив и загружает в БД. Если передаю объект напрямую в метод контроллера, то объект приходит и разбирается.
Но если пытаюсь вызвать из контроллера метод модели, то выскакивают ошибки. Ведь метод модели требует получения объекта класса Request , а как корректно передать его из контроллера я не понимаю.
Xveeder дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае, ваши вопросы будут удаляться по причине тег-спама.
По вопросу №1: настоятельно рекомендую разобраться в основах Composer'а и PSR-4, ибо это базовые понятия в современной PHP-разработке.
Чтобы автоматически подрубалось всё что нужно
А что нужно?
По вопросу №2: что за класс Response? Судя по названию, это представление ответа на запрос, тогда не понятно, почему вы куда-то хотите его передать и откуда в нём какие-то данные, которые куда-то надо загрузить.
P.S. Возьмите за правило: один топик на Тостере — один вопрос.
Как я писал выше, при создании контроллера через артизан прописывается как минимум родительский класс модели и ряд необходимых неймспейсов. Соответственно, есть предположение что у моделей должно быть что-то подобное.
По вопросу №2: что за класс Response? Судя по названию, это представление ответа на запрос, тогда не понятно, почему вы куда-то хотите его передать и откуда в нём какие-то данные, которые куда-то надо загрузить.
Ну например, вот так (видимо утомился, хотел написать Request ):
Xveeder, при создании модели в неё прописывается родительский класс. Как добавить неймспейс — написано в документации и в справке к командам artisan.
Что касается примера кода, то, во-первых, я не вижу там модели, а во-вторых, не надо передавать в модель реквест, модель не должна знать ничего про то, откуда её вызвали. Создайте сервисный класс, который сделает всю работу.