@dk-web

Как правильно обновлять связанные модели используя Resource в Laravel?

Есть 2 модели - User и Country. В модели User хранится country_id, по данному ключу они связаны.
Сделал UserResource
return [
            'id' => $this->id,
            'name' => $this->name,
            'country' => $this->country->eng_name
        ];

А как обновлять без id? Или Resource только для отображения.
Что-то упустил видимо логику.

Раньше я делал выборку через with связывал модели и уже дальше раскладывал. Для представления это удобно, но для Crud? Был бы признателен за примеры.
  • Вопрос задан
  • 331 просмотр
Пригласить эксперта
Ответы на вопрос 1
@jazzus
Обновлять лучше в контроллерах.
Например. Из вьюхи в контроллер вместе с другими данными передается country_id. Затем в контроллере, в методе store
$user->update($request->all())
или
$user->update('[country_id'=>$country_id]);
Отдавать через ресурс объект отношений можно так
return [
            // Отношения
            'country' => new CountryResource($this->country)
        ];

перед этим нужно создать ресурс для страны и в контроллере цеплять объекты через with
User::with('country')->get();
у каждого юзера в коллекции будет объект страны
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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