Есть ли способ (пере) сопоставить Коллекции Laravel с индексом из его содержимого?

У меня есть несколько новостных рассылок:

$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get();

Какой результат в этой коллекции:

введите описание изображения здесь

Я пытался использовать pluck, но он позволяет только один столбец:

$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->pluck('media', 'id');

введите описание изображения здесь

Чего я пытаюсь добиться это (простите мой грустный Paintshop skillz: D)
введите описание изображения здесь

В некотором смысле, это как ->pluck('*', 'id'), На данный момент я должен был проповедовать каждую коллекцию, и это не кажется мне правильным.

Спасибо за вашу помощь!

2

Решение

Ты можешь использовать keyBy метод:

$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get()->keyBy('id');
5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]