Есть ли способ (пере) сопоставить Коллекции Laravel с индексом из его содержимого?
У меня есть несколько новостных рассылок:
$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get();
Какой результат в этой коллекции:
Я пытался использовать pluck, но он позволяет только один столбец:
$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->pluck('media', 'id');
Чего я пытаюсь добиться, так это (извините, мой печальный мастерство покраски:D)
В некотором смысле, это как ->pluck('*', 'id')
, На данный момент я должен был проповедовать каждую коллекцию, и это не кажется мне правильным.
Спасибо за вашу помощь!
1 ответ
Решение
Вы можете использовать метод keyBy:
$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get()->keyBy('id');