Как без циклов из коллекции вытащить все значения полей, которые находятся во вложенной коллекции?

Для того, чтобы вытащить все значения полей из вложенной коллекции без использования циклов в Laravel, можно воспользоваться методом flatMap. Данный метод позволяет объединить результаты вызова функции обратного вызова для каждого элемента коллекции.

Для начала, необходимо создать функцию обратного вызова, которая будет принимать элемент вложенной коллекции в качестве аргумента и возвращать коллекцию значений полей. В этой функции мы можем воспользоваться методом pluck, который позволяет выбрать значение конкретного поля из элемента коллекции.

Например, предположим, что у нас есть коллекция nestedCollection, содержащая вложенную коллекцию элементов с полями id и name. Мы можем написать следующую функцию обратного вызова:

function getValues($item) {
   return collect($item)->pluck('name');
}

Затем, мы можем использовать метод flatMap для применения функции обратного вызова ко всем элементам вложенной коллекции и объединения результатов в одну коллекцию значений полей:

$values = $nestedCollection->flatMap(function ($item) {
   return getValues($item);
});

Результатом будет коллекция values, содержащая все значения полей name из вложенной коллекции. Обратите внимание, что в данном примере мы выбираем только одно поле name, но вы можете изменить функцию обратного вызова для выбора других полей в соответствии с вашими нуждами.

Таким образом, вы можете извлечь все значения полей из вложенной коллекции без использования циклов в Laravel, используя комбинацию методов flatMap и pluck.