Size: a a a

Laravel для начинающих

2020 April 04

V

Vladij in Laravel для начинающих
Иван Лещенко
Model::where('asd', $value)->first()
но тут же в случае если не найдено выдаст ларавеловскую ошибку?
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Vladij
но тут же в случае если не найдено выдаст ларавеловскую ошибку?
Если не найдено - null
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Если хочешь ошибку - firstOrFail
источник

V

Vladij in Laravel для начинающих
Иван Лещенко
Если не найдено - null
понял, опять не проверил)
источник

V

Vladij in Laravel для начинающих
Спасибо
источник

МК

Максим Кавецкий... in Laravel для начинающих
как бы вы сделали если надо:
есть Order и он имеет файлы и сами свои поля. Файлы надо по одному сохранять, поля разово (они формируют сам order), а файлы просто отдельной сущностью создаются по order_id. 
Так вот надо получается сначала сделать Order::create() , а после OrderFile::create(-тут order_id-), а после ещё и создать запись в Histories (история пользователя).

мне интересно как бы вы описали это в плане: какие роуты, что они включают и как с моделью взаимодействуют, а что в модели находится.
У меня как-то давно было ужасное описание (на фото) - ну это очень ужасно:
1) Во-первых не нравится то, что один роут и сохраняет данные поля, и заодно сохраняет файлы.
2) Модель смущает (метод  Order::storeInfo($request) )

Думаю:
1) Разделить на два контроллера (один в OrderController - сохраняет поля), а второй FileController - файлы.
2) Сделать валидацию для каждого через отдельный реквест, и уже передавать не Request $request, а OrderInfoRequest $request (например).
3) В роуте самом сделать прове
источник

МК

Максим Кавецкий... in Laravel для начинающих
источник

МК

Максим Кавецкий... in Laravel для начинающих
проверку на ->can(...)
4) ... как поступить с уведомлением и самими куками? Вы бы делали сохранение куков чтобы потом передать для загрузки файлов в отдельный роут?
источник

МК

Максим Кавецкий... in Laravel для начинающих
п.с. у меня много где используется этот OrderHistory::create() и он всегда занимает 5-7 строк кода - меня это напрягает... Есть идея в самой модели OrderHistory сделать методы разные для создания истории файлов, заказа, .... других. А после вызывать, передавая просто объект во всем, а дальше он уже сам возьмёт нужное. Как думаете, так будет лучше?
источник

ma

mr. angeluss in Laravel для начинающих
OrderHistory имеет таблицу в БД?
источник

МК

Максим Кавецкий... in Laravel для начинающих
mr. angeluss
OrderHistory имеет таблицу в БД?
да
источник

ma

mr. angeluss in Laravel для начинающих
Ну, создавай модель для таблицы и Сервис для всех функций к ней)
источник

МК

Максим Кавецкий... in Laravel для начинающих
mr. angeluss
Ну, создавай модель для таблицы и Сервис для всех функций к ней)
сервис это типа провайдер?
источник

ma

mr. angeluss in Laravel для начинающих
а в сервисе либо
$this->model->create() или $this->repository->create() - как реализуешь
источник

ma

mr. angeluss in Laravel для начинающих
Ну, не совсем, это как хелпер здорового челвоека)
источник

МК

Максим Кавецкий... in Laravel для начинающих
mr. angeluss
Ну, не совсем, это как хелпер здорового челвоека)
ого, если здорового, то я видимо такого ещё не делал -_-
источник

ma

mr. angeluss in Laravel для начинающих
Теоретически можно создать просто класс OrderHistoryServiceи в ней статический метод, но лучше создать через интерфейс, биндит ьв провайдере и инджектить везде, где вызываешь)
источник

ma

mr. angeluss in Laravel для начинающих
ща сек, я чистым ларавелем давно не пользовался
источник

МК

Максим Кавецкий... in Laravel для начинающих
я тоже, он у меня стал достаточно грязным :D
моими то усилиями
источник

R#

Reset # Alexey S. in Laravel для начинающих
Иван Лещенко
Когда тебе нужно предоставить сервис
Я правильно понимаю,что сервис это сущность которая должна быть доступна из любого места проекта и обладает каким то состоянием
источник