Laravel — Mengembalikan elemen berdasarkan atribut sebagai key

Laravel memiliki sebuah fungsi keyBy dari class Collection yang berfungsi untuk mengatur nilai dari atribut pada sebuah collection sebagai key.

Untuk mengambil elemen dari sebuah collection kita dapat menggunakan code seperti dibawah ini:

$collection = $ModelCollection::all();
$selectedItem = $collection[0];

Dari code diatas dapat kita lihat bahwa untuk mengakses selectedItem maka kita membutuhkan indeks dari array $collection tersebut, dan alangkah lebih mudahnya kita dapat mengakses collection tersebut jika key nya dari atribut yang ada di collection tersebut, dan kita dapat mengubah code kita menggunakan keyBy

$collection = $ModelCollection::all();
$collectionWithKey = $collection->keyBy('some_field'); 
$selectedItem = $collectionWithKey['value_field'];

Dengan fungsi keyBy ini kita dapat dengan mudah mengambil elemen/item yang ada pada collection untuk digunakan di banyak elemen pada sisi view kita, misalnya dropdown.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.