Задать вопрос
Lyrium
@Lyrium
Web developer

Как в коллекциях Laravel задавать значение ключей?

Вот такой фрагмент кода:
dd(FuwMapping::where('template','=','NB5215')->get()->map(function($item) use ($content) {
            $value = array_get($content, $item->json_field);
            return $value;
        }));


В результате имею:
Collection {#233
  #items: array:7 [
    0 => "Broker Dealer"
    1 => "F. M.  Dostoevsky"
    2 => "999-99-9999"
    3 => "(999) 999-9999"
    4 => "test@test.com"
    5 => null
    6 => "01/01/1980"
  ]
}


Как заменить ключи 0,1,2,3... на кастомные значения в данном примере это $item->pdf_field
  • Вопрос задан
  • 726 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
Lyrium
@Lyrium Автор вопроса
Web developer
Решением вопроса стал метод mapWithKeys()

dd(FuwMapping::where('template','=','NB5215')->get()->mapWithKeys(function($item) use ($content) {
            return [$item->pdf_field => array_get($content, $item->json_field)];
        }));


method-mapwithkeys

результат:
Collection {#412
  #items: array:7 [
    "Firm" => "Broker Dealer"
    "ProducerName" => "F. M.  Dostoevsky"
    "SSN" => "999-99-9999"
    "PhoneNumber" => "(999) 999-9999"
    "Email" => "test@test.com"
    "InsuredName" => null
    "InsuredBirth" => "01/01/1980"
  ]
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
https://laravel.com/docs/5.6/collections#method-keyby

А вообще, вы ерунду какую-то делаете, судя по данным.
Ответ написан
Ваш ответ на вопрос

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

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