Задать вопрос
@Wiemdier_brenul

Как удалить или скрыть связующую модель из коллекции?

У меня есть коллекция такого вида:
App\Models\Users
#attributes: array:6 [
    "login" => 'main admin'
    "updated_at" => "2023-02-25 00:58:35",
    "order_id" => 3,
  ]
#relations: array:1 [
   "orders" =>...
        #attributes: array:2 [
            "id" => 3
            "car_id" => 22
    ]...
     #relations: array:1 [
            "cars" =>...
                 #attributes: array:2 [
                     "id" => 22
                     "title" => 'Test car'
            ]

Как мне скрыть или удалить связь заказов так, чтобы получилось:
App\Models\Users
#attributes: array:6 [
    "login" => 'main admin'
    "updated_at" => "2023-02-25 00:58:35",
    "order_id" => 3,
  ]
  #relations: array:1 [
         "cars" =>...
              #attributes: array:2 [
                  "id" => 7
                  "title" => 'Test car'
         ]

То есть чтобы значение title я доставал не user->orders->cars->title а так user->orders->cars->title
Эту коллекцию я получил запросом:
Users::with(['orders.cars'])->where('login','=','main admin');
  • Вопрос задан
  • 70 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
iMedved2009
@iMedved2009
Не люблю людей
Ответ написан
Комментировать
@Sing303
$user = Users::with(['orders.cars'])->where('login','=','main admin')->first();
$user->unsetRelation('orders');
$cars = $user->orders->cars;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы