Laravel pluck с картой меняет ключи - PullRequest
2 голосов
/ 25 сентября 2019

У меня проблема с отрывом laravel в функции карты. Обычно я беру платежи из базы данных следующим образом:

$payments = Payment::with('translation')->active()->get();

И результат:

enter image description here

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

$payments = Payment::with('translation')->active()->get()->map(function ($payment) {
            return ['key' => $payment->getName() . ' +' . $payment->cost, 'value' => $payment->id];
        })
->pluck('key', 'value')
->prepend('Choose payment...');

И результат:

enter image description here

Ключи массива отличаются от ключей оплаты.Это должно быть как 1,9,12 и т. Д.

Если я переключу порядок отрыва для значения, то результат будет с правыми клавишами:

enter image description here

Но после этого блэйд формы из htmlcollective ({!! Form :: select () !!}) покажет ключи в виде выпадающего текста и переводы в качестве значения.(как напротив).

Есть ли простой способ исправить это?

1 Ответ

0 голосов
/ 25 сентября 2019

Это было сделано заранее, из-за чего ключи были неправильными.Любой предисловие без указанного ключа будет автоматически добавлено как 0 (ноль), а все остальные ключи будут отсчитываться оттуда.

Чтобы исправить изменение:

->prepend('Any text here');

до:

->prepend('Any text here', '');

Ключ будет установлен как '', а другие ключи не будут изменены:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...