2

I have some Newsletters:

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

Which result in this collection:

enter image description here

I tried to use pluck, but it just allows one column:

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

enter image description here

What I try to achieve is this (pardon my sad paintshop skillz :D) enter image description here

In a way, that's like ->pluck('*', 'id'). For now I had to foreach every collection and this does not seem right to me.

Thanks for your help!

andi79h
  • 1,087
  • 1
  • 12
  • 18

1 Answers1

5

You can use keyBy method:

$newsletters = $channel->Newsletter()->whereIn('id', $wantNewsletters)->get()->keyBy('id');
Marcin Nabiałek
  • 109,655
  • 42
  • 258
  • 291