return AuditDto::from([
'title' => 'тут заголовок',
'field' => 'тут поле',
]);
})
если у меня внутри old_values лежит массив ['one' => 1, 'two' => 2]
то почему map() мне возвращает именованный массив?
['one' => 'title' => 'тут заголовок', 'field' => 'тут поле' ],
['two' => 'title' => 'тут заголовок', 'field' => 'тут поле' ],
я же его об этом не прошу.
как получить просто коллекцию айтемов
[0 => 'title' => 'тут заголовок', 'field' => 'тут поле' ],
[1 => 'title' => 'тут заголовок', 'field' => 'тут поле' ],
и тд
Потому что ему передаёшь именованый массив ['one' => 1, 'two' => 2] Вероятно нужно вручную дополнительно обернуть в массив: Замени collect($item->old_values) на collect([$item->old_values])
ну... я-то хочу пройти по массиву $item->old_values. а если я его возьму в [], то я просто пройду по одному элементу... это совсем не то, что мне нужно (
Тогда в чём проблема? У тебя ключ имеет имя, а тебе это не нужно...
> то почему map() мне возвращает именованный массив? Потому что мапится значение, а не ключ. https://www.php.net/manual/ru/function.array-map.php
return [AuditDto::from([ 'title' => 'тут заголовок', 'field' => 'тут поле', ])];
проблема в том, что мне не нужны имена тут. потому что мне нужно из этого сделать коллекцию dto. А с именованным массиво это не работает
а зачем ты делаешь мап но не используешь велью кей?
да использую я их. просто упростил код
ну, чтобы оно не отвлекало на себя внимание ))
collect(...)->map(...)->values()
о! вот это кажется то, что нужно! Ща проверю )
Писал выше же)) https://t.me/laravel_web/1025345
спасибо. Сразу не понял в чем смысл, а редактированную версию не увидел уже.
Есть такая проблема в этом, особенно когда другие люди пишут в чат.
Обсуждают сегодня