Коллекция Laravel: метод сглаживания игнорируется

Возможно, очевидный, но вот он: После получения результата запроса у меня есть:

$items = DB::table('my_table')->get(['id']);
dd($items);

Что приводит к:

Collection {#228 ▼
  #items: array:1 [▼
    0 => {#227 ▼
      +"id": 2
    }
  ]
}

Затем, когда я пытаюсь сгладить это, он игнорирует меня:

dd($items->flatten());

В результате чего:

Collection {#209 ▼
  #items: array:1 [▼
    0 => {#227 ▼
      +"id": 2
    }
  ]
}

Разве я не должен получить что-то вроде плоской версии коллекции? Как мне это сделать?

Заранее спасибо.

Всего 1 ответ


Вы должны проверить это как

$flattened = $items->flatten();

dd($flattened->all());

// or dd($items->flatten()->all());

Источник из официальной документации .

Если вы хотите получить идентификатор и полностью сгладить, используйте

$items = DB::table('my_table')->pluck('id');
dd($items);

Вот ссылка на отрыв .


Есть идеи?

10000