@RMate

Как в Laravel выбрать только указанные ключи из коллекции?

Всем привет!
Необходимо выбрать определенные ключи из коллекции. В документации описывается, что это можно сделать с помощью метода only. Что я делаю не так?

Имеем коллекцию вида:
$filter = collect([
    'q' => 'q', 
    'w' => 'w', 
    'e' => [
      'a' => 'a', 
      's' => 's'
    ]
  ]);


На сколько мне известно, для обращения к вложенному массиву можно использовать точечную запись only(['e.a', 'e.s'])
для обратного метода except - такой вариант работает корректно, в случае с only - не работает. либо я не могу заметить слона, либо это баг версии.
К слову, версия laravel - 5.7
ЧЯДНТ?
  • Вопрос задан
  • 440 просмотров
Решения вопроса 1
v_decadence
@v_decadence
Ну вы бы в исходный код залезли что ли...
Этот метод использует Arr::only, который просто вызывает array_intersect_key, который никакие точки в ключах не поддерживает. Похоже тут только вручную выбирать из вложенного массива.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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