Selamat datang, para pembelajar Laravel yang penuh semangat! Jika Anda baru memulai perjalanan pengembangan web dengan Laravel, Anda berada di tempat yang tepat. Hari ini, kita akan membahas sesuatu yang mungkin telah Anda dengar namun mungkin belum sepenuhnya Anda pahami: Laravel Collection.
Mengapa Laravel Collection Penting?
Sebelum kita mulai, mari kita pahami mengapa Laravel Collection menjadi begitu penting dalam pengembangan aplikasi Laravel. Dalam dunia web development, manipulasi data adalah kunci, dan di situlah Laravel Collection memainkan peran krusial. Ini memberi Anda kemampuan untuk melakukan berbagai operasi pada data dengan cara yang kuat dan efisien.
Apa Itu laravel Collection?
Mari kita mulai dengan dasar-dasar. Laravel Collection bukanlah sesuatu yang sulit. Sebenarnya, itu adalah bagian integral dari framework Laravel yang memudahkan pengelolaan dan manipulasi data. Ini seperti alat serbaguna untuk menyederhanakan kode Anda dan membuatnya lebih mudah dipahami.
Mari Kita Mulai
Sebelum belajar materi laravel collection anda dapat membuat projek laravel baru terlebih dahulu atau menggunakan projek laravel sebelumnya. Pada tutorial ini saya akan membuat projek laravel baru dengan nama laravel-collection, apabila anda lupa cara menginstall projek laravel baru anda dapat kembali membaca materi Langkah-demi-Langkah Instalasi Laravel.
Jika sudah, sekarang anda buka kembali terminal nya kemudian kita akan membuat controller baru dengan nama CollectionController. Masukkah perintah di bawah ini untuk membuat controller baru.
php artisan make:controller CollectionController
BashJika sudah seharusnya anda mendapatkan file CollectionController pada projek anda dengan kode seperti berikut:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class CollectionController extends Controller
{
//
}
app/Http/Controller/CollectionController.phpCara Membuat Collection
Untuk membuat collection di laravel caranya cukup mudah kita hanya perlu menggunakan method collect. Sekarang mari kita menuju file routes/web.php terlebih dahulu.
<?php
use App\Http\Controllers\CollectionController;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
});
routes/web.phpPerhatikan kode tersebut, pada kode tersebut saya mengelompokkan route berdasarkan controller CollectionController. Jika anda bingung tentang route controller anda dapat membaca kembali materi memahami dan mengoptimalkan route laravel dengan mudah.
Selanjutnya kita coba untuk membuat collection, silahkan untuk membuat controller yang telah anda buat lalu tambahkan kode di bawah ini
<?php
namespace App\Http\Controllers;
class CollectionController extends Controller
{
public function index()
{
$products = collect([
['name' => 'Product 1', 'price' => 100],
['name' => 'Product 2', 'price' => 200],
['name' => 'Product 3', 'price' => 300],
['name' => 'Product 4', 'price' => 400],
['name' => 'Product 5', 'price' => 500],
]);
dump($products);
}
}
app/Http/Controller/CollectionController.phpDalam method index di atas, kita melihat implementasi Laravel Collection untuk mengelola kumpulan produk. Pertama, kita membuat variabel $products yang berisi objek Collection. Collection ini berisi beberapa array asosiatif, mewakili produk dengan nama dan harga.
Dalam array ini, setiap elemen adalah asosiatif array yang mewakili satu produk. Misalnya, ‘Product 1’ memiliki harga 100. Setelah menginisialisasi Collection, kita menggunakan fungsi dump($products) untuk mencetak hasilnya. Fungsi dump digunakan untuk menampilkan informasi debugging dan struktur data dari suatu variabel.
Output dari dump($products) akan menampilkan struktur data dari Collection. Ini adalah cara sederhana dan jelas untuk memahami bagaimana Laravel Collection dapat menyederhanakan manipulasi dan pengelolaan data dalam aplikasi Laravel.
Pelajari Semua Method Collection Laravel
Ketika Anda bekerja dengan Laravel Collection, Anda memiliki akses ke sejumlah metode yang kuat untuk memanipulasi data. Hal yang menarik adalah sebagian besar metode ini dapat digunakan secara berantai, memungkinkan Anda menggabungkan beberapa operasi dengan elegan. Sebelum kita melangkah lebih jauh, mari kita pahami bahwa hampir semua metode ini mengembalikan instance baru dari Collection. Ini artinya, saat Anda menggunakan metode tertentu, Anda sebenarnya membuat salinan baru dari collection aslinya. Ini memastikan keberlanjutan koleksi asli bila diperlukan. Mari kita bahas satu persatu method collection laravel, karena kita akan mempelajari semua method collection semuanya dan itu sangat banyak maka silahkan untuk menyiapkan kopinya terlebih dahulu dan pelajari secara perlahan jangan terburu-buru.
all()
Method all pada Laravel Collection adalah method sederhana yang digunakan untuk mengembalikan semua elemen dalam bentuk array dasar yang mewakili collection. Mari kita pahami dengan lebih rinci. Method ini digunakan untuk mengonversi collection menjadi array dasar. Berikut merupakan cara menggunakan method all()
$collection = collect([1, 2, 3, 4, 5]);
$allItems = $collection->all();
PHPFungsi utama dari method all() adalah untuk mengembalikan array dasar yang merepresentasikan sebuah collection. Method ini tidak memerlukan parameter apapun dan method ini hanya mengembalikan array dengan elemen-elemen collection. Oke setelah kita memahami konsep dasar dari method all() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
});
routes/web.phpAnda dapat mempelajari metode all laravel collection dengan membaca artikel Memahami Metode All Terbaru Pada Laravel Collection
Kemudian pada collection controller kita akan membuat sebuah collection artikel baru dan akan kita coba untuk menampilkan nya dengan menggunakan method all seperti berikut:
public function all()
{
$articles = collect([
[
'id' => 1,
'title' => 'What is Lorem Ipsum?',
'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.',
'author_id' => 1,
'created_at' => '2023-12-01 10:00:00',
],
[
'id' => 2,
'title' => 'Why do we use it?',
'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.',
'author_id' => 2,
'created_at' => '2023-12-01 10:00:00',
],
[
'id' => 3,
'title' => 'Where does it come from?',
'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.',
'author_id' => 3,
'created_at' => '2023-12-01 10:00:00',
],
[
'id' => 4,
'title' => 'Where can I get some?',
'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.',
'author_id' => 4,
'created_at' => '2023-12-01 10:00:00',
],
]);
dump($articles->all());
}
app/Http/Controllers/CollectionController.phpMethod all berguna ketika Anda perlu mengubah collection menjadi bentuk array dasar untuk penggunaan tertentu, seperti saat Anda ingin menyajikan data dalam format yang umum atau saat berinteraksi dengan komponen lain yang mungkin memerlukan array standar. Penting untuk dicatat bahwa method ini tidak memodifikasi colecction asli. Sebagai gantinya, ia akan memberikan salinan array dasar yang merepresentasikan koleksi tersebut.
average()
Method ini digunakan untuk menghitung nilai rata-rata dari elemen-elemen numerik dalam collection. Berikut merupakan cara menggunakan method average()
$collection = collect([10, 20, 30, 40, 50]);
$average = $collection->average();
PHPFungsi utama dari method average adalah untuk menghitung nilai rata-rata dari elemen-elemen numerik dalam collection. Method ini tidak memerlukan parameter apapun dan method average() akan mengembalikan nilai rata-rata. Oke setelah kita memahami konsep dasar dari method average() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
});
routes/web.phpKemudian pada collection controller kita akan membuat sebuah collection mahasiswa baru dan akan kita coba untuk mencari nilai rata-rata dari mahasiswa tersebut dengan menggunakan method average().
Anda dapat mempelajari metode average laravel collection dengan membaca artikel Optimalkan Penghitungan Data dengan Metode Average Terbaru pada Laravel Collection
public function average()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
]);
dump($students->average('score'));
}
app/Http/Controllers/CollectionController.phpMethod average di sini mengambil collection dengan elemen-elemen numerik dan mengembalikan nilai rata-rata dari elemen-elemen tersebut, yaitu (80 + 90 + 100) / 3 = 90. Method ini secara otomatis menangani elemen-elemen numerik dalam collection. Jika collection berisi nilai non-numerik, mereka akan diabaikan selama perhitungan. Jika collection kosong, method average akan mengembalikan null.
avg()
Method avg sama seperti dengan method average digunakan untuk menghitung nilai rata-rata dari elemen-elemen numerik dalam collection dan avg merupakan alias untuk average jadi anda dapat menggunakan nya dengan cara yang sama seperti:
public function average()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
]);
dump($students->avg('score'));
}
app/Http/Controllers/CollectionController.phpAnda dapat mempelajari metode avg laravel collection dengan membaca artikel Meningkatkan Analisis Data dengan Metode avg Terbaru Pada Laravel Collection
Anda dapat menggunakan method avg atau average maka hasilnya akan sama saja.
chunk()
Method chunk pada Laravel Collection digunakan untuk membagi collection menjadi potongan-potongan kecil (chunk) dengan ukuran tertentu. Berikut ini merupakan contoh dari method chunk:
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9]);
$chunks = $collection->chunk(3);
PHPFungsi utama dari method chunk adalah untuk membagi collection menjadi potongan-potongan (chunk) dengan ukuran tertentu. Method ini memerlukan 1 parameter yang harus anda isi dengan jumlah elemen dari setiap chunk dan method ini akan mengembalikkan collection-collection kecil. Oke setelah kita memahami konsep dasar dari method chunk() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
});
routes/web.phpKemudian pada collection controller kita akan membuat sebuah collection nama buah-buahan baru dan akan kita coba untuk menggunakan method chunk seperti berikut.
Anda dapat mempelajari metode chunk laravel collection dengan membaca artikel Pemrosesan Data Massal dengan Efisien Menggunakan Metode Chunk Terbaru Pada Laravel Collection
public function chunk(){
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
$chunks = $fruits->chunk(2);
dump($chunks);
}
app/Http/Controllers/CollectionController.phpMethod chunk di sini membagi collection menjadi dua chunk dengan ukuran masing-masing dua elemen. Method ini berguna ketika Anda perlu memproses atau memanipulasi collection dalam potongan-potongan kecil, terutama jika collection sangat besar. Setiap elemen dalam hasil collection merupakan array yang mewakili setiap chunk. Jika collection kosong, metode chunk akan mengembalikan collection kosong.
chunkWhile()
Method chunkWhile digunakan untuk memecah collection menjadi beberapa collection kecil berdasarkan evaluasi callback yang diberikan. Dalam callback tersebut, variabel $chunk dapat digunakan untuk memeriksa elemen sebelumnya.
$collection = collect(str_split('AABBCCCD'));
$chunks = $collection->chunkWhile(function (string $value, int $key, Collection $chunk) {
return $value === $chunk->last();
});
PHPBerikut merupakan penjelasan dari method chunk yang baru saja kita buat, memang terlihat rumit akan tetapi ini tidak serumit yang anda bayangkan. Silahkan simak baik-baik penjelasan saya di bawah ini
Pertama-tama, kita memiliki sebuah collection yang berisi karakter-karakter dari string ‘AABBCCCD’. collection ini dibuat menggunakan method collect dari Laravel untuk mempermudah manipulasi data.
Kemudian, kita menggunakan method chunkWhile pada collection tersebut. method ini menerima sebuah callback yang akan mengevaluasi setiap elemen dalam collection. Dalam callback, terdapat tiga parameter: $value untuk nilai elemen saat ini, $key untuk kunci elemen tersebut, dan $chunk untuk mewakili potongan sebelumnya.
Dalam callback, kita mengevaluasi apakah nilai elemen saat ini ($value) sama dengan elemen terakhir dalam potongan sebelumnya ($chunk->last()). Jika sama, maka elemen tersebut akan dimasukkan ke dalam potongan yang sama. Jika tidak, elemen tersebut akan menjadi elemen pertama dalam potongan baru.
Proses ini berlanjut hingga selesai memeriksa setiap elemen dalam collection. Hasilnya adalah collection baru yang terdiri dari collection-collection kecil, di mana setiap collection kecil berisi elemen-elemen yang memiliki nilai yang sama secara berurutan.
Dalam contoh ini, kita mendapatkan hasil akhir berupa collection dari collection-collection kecil, sesuai dengan kondisi yang ditentukan dalam callback. Setiap collection kecil merepresentasikan kelompok elemen yang memiliki nilai yang sama secara berurutan. Sehingga, dalam output akhir, kita memiliki [[‘A’, ‘A’], [‘B’, ‘B’], [‘C’, ‘C’, ‘C’], [‘D’]].
Dengan method chunkWhile, Anda dapat mengelola dan memisahkan collection berdasarkan logika dinamis tertentu yang dijelaskan oleh callback. Method ini memberikan fleksibilitas dalam pemecahan data sesuai dengan kondisi yang Anda tentukan.
collapse()
Method collapse pada Laravel Collection digunakan untuk menggabungkan semua array dalam collection menjadi satu array tunggal. Ini berguna ketika Anda memiliki collection yang berisi array di dalamnya dan ingin menggabungkan semua array tersebut ke dalam satu array tunggal. Berikut ini merupakan contoh dari penggunaan method collapse()
$collection = collect([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]);
$collapsed = $collection->collapse();
PHPFungsi utama dari method collapse adalah untuk menggabungkan semua array dalam collection menjadi satu array tunggal. Method ini tidak memerlukan parameter apapun, dan method ini akan mengembalikkan collection baru yang berisi semua elemen dari array-array yang digabungkan. Oke setelah kita memahami konsep dasar dari method collapse() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
});
routes/web.phpKemudian pada collection controller kita akan membuat sebuah collection nama siswa baru dan akan kita coba untuk menggunakan method collapse untuk menggabungkan semua nama siswa seperti berikut.
Anda dapat mempelajari metode collapse laravel collection dengan membaca artikel Optimalkan Struktur Data dengan Metode Collapse Terbaru Pada Laravel Collection
public function collapse()
{
$students = collect([
['Alexia', 'John', 'Jane'],
['Kevin', 'Léo'],
['Emilia', 'Camila', 'Luna', 'Lola','Léa','Lina','Léna'],
['Elias', 'Liam', 'Enzo', 'Ethan', 'Léon', 'Lorenzo', 'Louise', 'Lina']
]);
dump($students->collapse());
}
PHPMethod collapse berguna ketika Anda memiliki collection dengan array-array bersarang dan ingin mengubahnya menjadi satu array tunggal untuk kemudahan pemrosesan data. Method ini akan enghasilkan collection baru yang berisi elemen-elemen yang digabungkan dari array-array dalam collection.
collect()
Method ini digunakan untuk membuat instansi dari class Laravel Collection. Anda dapat menggunakan collect untuk mengonversi array atau objek iteratif lainnya menjadi objek Collection. Berikut ini merupakan contoh dari penggunaan method collect()
$numbers = [1, 2, 3, 4, 5];
$collection = collect($numbers);
PHPAnda dapat mempelajari metode collect laravel collection dengan membaca artikel Peningkatan Pengelolaan Data dengan Metode Collect Terbaru Pada Laravel Collection
Fungsi utama dari method collect adalah Membuat instansi dari kelas Laravel Collection. Method ini membutuhkan 1 parameter yang harus anda isi yaitu dalam bentuk Array atau objek iteratif lainnya. Method ini akan mengembalikan Instansi dari class Laravel Collection. Untuk penggunaan pada projek laravel secara langsung kita sudah sering membuat collection menggunakan method collect, jadi seharusnya anda sudah paham untuk menggunakan method ini. Kemudian membuat objek collection dapat memberikan fleksibilitas dalam melakukan berbagai operasi dan manipulasi data menggunakan method-method yang disediakan oleh Laravel Collection. Setelah data dikonversi menjadi objek Collection, Anda dapat dengan mudah menggunakan berbagai method seperti map, filter, reduce, dan lainnya untuk memproses dan mengelola data dengan mudah.
combine()
Method combine pada Laravel Collection digunakan untuk membuat collection baru dengan menggunakan satu array sebagai kunci dan array lainnya sebagai nilai. Ini membantu menggabungkan dua array menjadi satu dalam bentuk pasangan kunci-nilai. Berikut ini merupakan contoh dari penggunaan method combine().
$keys = ['name', 'age', 'city'];
$values = ['John', 25, 'New York'];
$combined = collect($keys)->combine($values);
PHPFungsi utama dari method combine() adalah untuk membuat collection baru dengan menggunakan satu array sebagai kunci dan array lainnya sebagai nilai. Kemudian anda membutuhkan sebuah array untuk dimasukkan ke dalam method combine() yang akan digunakan sebagai kunci. Method ini akan mengembalikan sebuah collection baru dengan pasangan nilai dan kunci. Oke setelah kita memahami konsep dasar dari method combine() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
Route::get('/combine','combine')->name('collects.combine');
});
routes/web.phpKemudian pada collection controller kita akan menggabungkan key dan value dengan menggunakan method combine() oleh karena itu kita memerlukan 2 array yang akan langsung kita masukkan ke dalam method collect() dan kemudian kita gabungkan dengan menggunakan method combine() seperti kode di bawah ini:
public function combine()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
$prices = collect([1.2, 2.4, 1.99, 3.99, 0.99]);
dump($fruits->combine($prices));
}
app/Http/Controllers/CollectionController.phpMethod combine() berguna ketika Anda memiliki dua array terpisah dan ingin menggabungkannya menjadi satu collection dengan pasangan kunci-nilai. Method ini memberikan fleksibilitas dalam pembentukan struktur data yang dibutuhkan untuk kebutuhan pengolahan data lebih lanjut.
concat()
Method concat pada Laravel Collection digunakan untuk menggabungkan dua atau lebih collection menjadi satu collection tunggal. Ini memungkinkan Anda untuk menggabungkan elemen-elemen dari satu collection dengan elemen-elemen dari collection lainnya. Berikut ini merupakan contoh dari penggunaan method concat().
$collection1 = collect([1, 2, 3]);
$collection2 = collect([4, 5, 6]);
$concatenated = $collection1->concat($collection2);
PHPFungsi utama dari method concat() adalah untuk menggabungkan dua atau lebih collection menjadi satu collection tunggal. Method ini membutuhkan parameter dalam bentuk collection atau array lainnya yang akan digabungkan. Method concat() akan mengembalikan collection baru yang berisi elemen-elemen dari collection yang telah digabungkan. Oke setelah kita memahami konsep dasar dari method concat() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
Route::get('/combine','combine')->name('collects.combine');
Route::get('/concat','concat')->name('collects.concat');
});
routes/web.phpKemudian pada collection controller kita akan membuat satu collection students dan satu array teachers dan akan kita gabungkan dengan menggunakan method concat() seperti berikut:
public function concat()
{
$students = collect(['Alexia', 'John', 'Jane', 'Kevin', 'Léo']);
$teachers = ['Emilia', 'Camila', 'Luna', 'Lola','Léa','Lina','Léna'];
dump($students->concat($teachers));
}
app/Http/Controllers/CollectionController.phpMethod concat() sangat berguna ketika Anda memiliki dua atau lebih collection / array yang ingin digabungkan menjadi satu collection tunggal. Method concat() memungkinkan Anda untuk menggabungkan data dari berbagai sumber untuk kebutuhan pengolahan data lebih lanjut.
contains()
Method contains pada Laravel Collection digunakan untuk memeriksa apakah collection mengandung suatu nilai tertentu. Ini mengembalikan nilai boolean, yaitu true jika nilai ditemukan dalam collection, dan false jika tidak. Berikut ini merupakan contoh dari penggunaan method contains().
$collection = collect([1, 2, 3, 4, 5]);
$containsValue = $collection->contains(3);
PHPFungsi utama dari method contains() adalah untuk memeriksa apakah collection mengandung suatu nilai tertentu. Method contains() membutuhkan 1 parameter yang harus anda isi yaitu nilai yang akan diperiksa keberadaannya dalam collection. Method ini hanya akan mengembalikan true atau false. Oke setelah kita memahami konsep dasar dari method contains() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
Route::get('/combine','combine')->name('collects.combine');
Route::get('/concat','concat')->name('collects.concat');
Route::get('/contains','contains')->name('collects.contains');
});
routes/web.phpKemudian pada collection controller kita akan mencoba berbagai macam kombinasi dalam menggunakan method contains. Perhatikan kode berikut:
public function contains()
{
$sports = collect(['football', 'basketball', 'tennis', 'rugby', 'volleyball']);
dump($sports->contains('tennis'));
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
]);
dump($students->contains('score', 95));
$clubs = collect([
['name' => 'Real Madrid', 'country' => 'Spain'],
['name' => 'FC Barcelona', 'country' => 'Spain'],
['name' => 'Manchester United', 'country' => 'England'],
['name' => 'Juventus', 'country' => 'Italy'],
['name' => 'Bayern Munich', 'country' => 'Germany'],
]);
$is_clubs = $clubs->contains(function ($club, $key) {
return $club['country'] === 'Italy';
});
dump($is_clubs);
}
app/Http/Controllers/CollectionController.phpMethod contains sangat berguna untuk menentukan apakah nilai tertentu ada dalam collection atau tidak. Hasil dari method ini dapat digunakan dalam kondisi untuk menjalankan logika tertentu berdasarkan keberadaan atau ketiadaan suatu nilai dalam collection.
containsOneItem()
Method containsOneItem digunakan untuk menentukan apakah collection hanya mengandung satu item. Berikut ini merupakan contoh dari penggunaan method containsOneItem().
$collection1 = collect([]);
$result1 = $collection1->containsOneItem();
// Output: false
$collection2 = collect(['1']);
$result2 = $collection2->containsOneItem();
// Output: true
$collection3 = collect(['1', '2']);
$result3 = $collection3->containsOneItem();
// Output: false
PHPFungsi utama dari method containsOneItem() adalah untuk menentukan apakah collection hanya mengandung satu item. Method ini tidak membutuhkan parameter apapun yang dimasukkan, kemudian method ini akan mengembalikan true atau false. Oke setelah kita memahami konsep dasar dari method containsOneItem() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
Route::get('/combine','combine')->name('collects.combine');
Route::get('/concat','concat')->name('collects.concat');
Route::get('/contains','contains')->name('collects.contains');
Route::get('/contains-one-item','containsOneItem')->name('collects.contains-one-item');
});
routes/web.phpKemudian pada collection controller kita akan membuatnya seperti kode berikut:
public function containsOneItem()
{
$cars = collect(['BMW', 'Mercedes', 'Audi', 'BMW', 'Mercedes', 'Audi']);
dump($cars->containsOneItem());
$people = collect(['Loid']);
dump($people->containsOneItem());
$books = collect([
['title' => 'Harry Potter', 'is_favorite' => true],
['title' => 'Lord of the Rings', 'is_favorite' => false],
['title' => 'The Hobbit', 'is_favorite' => false],
['title' => 'The Alchemist', 'is_favorite' => false],
]);
dump($books->containsOneItem());
}
app/Http/Controllers/CollectionController.phpMethod ini sangat berguna untuk mengonfirmasi bahwa jumlah item dalam collection sesuai dengan kebutuhan, terutama ketika Anda ingin memastikan bahwa hanya ada satu item. Method ini menyediakan cara singkat dan mudah untuk melakukan pemeriksaan tanpa perlu menulis kondisi terpisah. Dengan adanya metode containsOneItem, Anda dapat melakukan pemeriksaan jumlah item dalam collection dengan lebih mudah dan jelas.
containsStrict()
Method containsStrict pada Laravel Collection digunakan untuk memeriksa apakah collection mengandung suatu nilai tertentu dengan memperhatikan tipe data (strict type comparison). Ini berbeda dari method contains, yang menggunakan loose type comparison. Berikut ini merupakan contoh dari penggunaan method containsStrict().
$collection = collect([1, '2', 3]);
$containsStrict = $collection->containsStrict(2);
PHPFungsi utama method containsStrict adalah untuk memeriksa apakah collection mengandung suatu nilai tertentu dengan memperhatikan tipe data. Method ini membutuhkan satu parameter yaitu nilai yang akan diperiksa keberadaannya dalam collection. Method ini hanya akan mengembalikan true atau false. Oke setelah kita memahami konsep dasar dari method containsStrict() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
Route::get('/combine','combine')->name('collects.combine');
Route::get('/concat','concat')->name('collects.concat');
Route::get('/contains','contains')->name('collects.contains');
Route::get('/contains-one-item','containsOneItem')->name('collects.contains-one-item');
Route::get('/contains-strict','containsStrict')->name('collects.contains-strict');
});
PHPKemudian pada collection controller kita akan melakukan pengecekan pada collection harga, karena kita membuat berbagai macam variasi harga:
public function containsStrict()
{
$prices = collect([1.2, 2400, 1.99, 3000, "0.99"]);
dump($prices->containsStrict(1.2));
}
PHPMethod ini sangat berguna ketika Anda ingin memastikan bahwa nilai dalam collection identik dengan nilai yang dicari dengan memperhatikan tipe data dan method ini cocok digunakan dalam situasi di mana tipe data menjadi penting untuk dipertimbangkan dalam pencarian nilai.
count()
Method count pada Laravel Collection digunakan untuk mengembalikan jumlah elemen dalam collection. Ini memberikan cara yang cepat dan mudah untuk mendapatkan jumlah total item dalam suatu collection. Berikut ini merupakan contoh dari penggunaan method count().
$collection = collect([1, 2, 3, 4, 5]);
$totalItems = $collection->count();
PHPFungsi utama dari method count() adalah untuk mengembalikan jumlah elemen dalam collection. Oke setelah kita memahami konsep dasar dari method count() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::controller(CollectionController::class)->prefix('collects')->group(function(){
Route::get('/','index')->name('collects.index');
Route::get('/all','all')->name('collects.all');
Route::get('/average','average')->name('collects.average');
Route::get('/chunk','chunk')->name('collects.chunk');
Route::get('/collapse','collapse')->name('collects.collapse');
Route::get('/combine','combine')->name('collects.combine');
Route::get('/concat','concat')->name('collects.concat');
Route::get('/contains','contains')->name('collects.contains');
Route::get('/contains-one-item','containsOneItem')->name('collects.contains-one-item');
Route::get('/contains-strict','containsStrict')->name('collects.contains-strict');
Route::get('/count','count')->name('collects.count');
});
PHPKemudian pada collection controller kita akan melakukan pengecekan pada collection mata pelajaran, kita ingin tau jumlah mata pelajaran yang tersedia ada berapa dengan menggunakan method count() seperti berikut:
public function count()
{
$subjects = collect(['Math', 'Physics', 'Chemistry', 'Biology', 'History', 'Geography']);
dump($subjects->count());
}
PHPMethod count() berguna untuk mendapatkan informasi tentang seberapa banyak elemen yang ada dalam collection dan bisa digunakan dalam kondisi untuk melakukan perbandingan atau pengecekan berdasarkan jumlah elemen.
countBy()
Method countBy pada Laravel Collection digunakan untuk menghitung jumlah elemen dalam collection berdasarkan suatu kriteria atau pemetaan yang diberikan. Ini memungkinkan Anda untuk mengelompokkan elemen-elemen berdasarkan suatu kriteria dan menghitung jumlah elemen dalam setiap kelompok. Berikut ini merupakan contoh dari penggunaan method countBy().
$collection = collect(['apple', 'banana', 'orange', 'apple', 'banana']);
$countByResult = $collection->countBy(function ($item) {
return strlen($item);
});
PHPFungsi utama dari method countBy() adalah untuk menghitung jumlah elemen dalam collection berdasarkan suatu kriteria atau pemetaan. Method ini membutuh 1 parameter dalam bentuk callback atau nilai yang digunakan sebagai pemetaan dan method ini akan mengembalikan collection asosiatif yang berisi jumlah elemen dalam setiap kelompok. Oke setelah kita memahami konsep dasar dari method countBy() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/count-by','countBy')->name('collects.count-by');
routes/web.phpKemudian pada collection controller kita akan melakukan pengecekan pada collection siswa seperti kode berikut
public function countBy()
{
$students = collect([
['name' => 'Kevin', 'score' => 75],
['name' => 'Léo', 'score' => 80],
['name' => 'Emilia', 'score' => 90],
['name' => 'Camila', 'score' => 90],
['name' => 'Luna', 'score' => 100],
['name' => 'Lola', 'score' => 100],
['name' => 'Léa', 'score' => 100],
['name' => 'Lina', 'score' => 100],
['name' => 'Léna', 'score' => 100],
]);
dump($students->countBy('score'));
}
app/Http/Controllers/CollectionController.phpMethod ini berguna untuk mengelompokkan elemen berdasarkan suatu kriteria dan menghitung jumlah elemen dalam setiap kelompok dan memberikan informasi terstruktur dalam bentuk collection asosiatif, memudahkan pengolahan lebih lanjut.
crossJoin()
Method crossJoin pada Laravel Collection digunakan untuk menghasilkan hasil gabungan dari dua atau lebih collection, menghasilkan setiap kombinasi dari elemen-elemen collection tersebut. Ini adalah operasi pencocokan silang (cross join), menggabungkan setiap elemen dari collection pertama dengan setiap elemen dari collection kedua, dan seterusnya. Berikut ini merupakan contoh dari penggunaan method crossJoin().
$collection1 = collect(['A', 'B']);
$collection2 = collect([1, 2]);
$crossJoined = $collection1->crossJoin($collection2);
PHPFungsi utama dari method crossjoin adalah untuk menghasilkan hasil gabungan dari dua atau lebih collection. Method ini membutuhkan collection atau array lainnya yang akan dicocokkan silang untuk dimasukkan ke dalam parameter dan method ini akan mengembalikkan collection baru yang berisi setiap kombinasi dari elemen-elemen collection yang dicocokkan silang. Oke setelah kita memahami konsep dasar dari method crossJoin() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/cross-join','crossJoin')->name('collects.cross-join');
routes/web.phpKemudian pada collection controller kita akan membuat 2 collection warna dan ukuran kemudian akan kita gabungkan dengan menggunakan method crossJoin seperti berikut:
public function crossJoin()
{
$colors = collect(['red', 'green', 'blue']);
$sizes = collect(['S', 'M', 'L', 'XL']);
dump($colors->crossJoin($sizes));
}
app/Http/Controllers/CollectionController.phpMethod ini berguna ketika Anda ingin menghasilkan setiap kombinasi dari elemen-elemen beberapa collection dan cocok untuk situasi di mana Anda perlu melakukan pencocokan silang antara elemen-elemen collection untuk mendapatkan data kombinasi.
dd()
Method dd pada Laravel Collection adalah singkatan dari “dump and die”. Method ini digunakan untuk mencetak informasi debugging dari suatu collection dan menghentikan eksekusi skrip secara tiba-tiba (die) setelah mencetak informasi tersebut. Ini sering digunakan untuk memeriksa isi dan struktur collection pada suatu titik tertentu dalam kode. Berikut ini merupakan contoh dari penggunaan method dd().
$collection = collect(['apple', 'banana', 'orange']);
$collection->dd();
PHPFungsi utama dari method dd() adalah untuk Mencetak informasi debugging dari suatu koleksi dan menghentikan eksekusi skrip. Method ini tidak membutuhkan parameter apapun. Oke setelah kita memahami konsep dasar dari method dd() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/dd','dd')->name('collects.dd');
routes/web.phpKemudian pada collection controller kita akan menggunakan method dd() pada collection negara seperti berikut:
public function dd()
{
$countries = collect(['France', 'Spain', 'Italy', 'Germany', 'England']);
$countries->dd();
}
PHPMethod ini berguna untuk debugging cepat dan melihat isi collection pada titik tertentu dalam kode. Method ini juga berguna untuk menghentikan eksekusi skrip, memungkinkan Anda untuk memeriksa data dan kondisi pada suatu titik tertentu tanpa melanjutkan eksekusi lebih lanjut.
diff()
Method diff pada Laravel Collection digunakan untuk mengembalikan perbedaan antara dua collection. Ini menghasilkan collection baru yang berisi elemen-elemen yang ada di collection pertama tetapi tidak ada di collection kedua. Berikut ini merupakan contoh dari penggunaan method diff().
$collection1 = collect([1, 2, 3, 4, 5]);
$collection2 = collect([3, 4, 5, 6, 7]);
$diffResult = $collection1->diff($collection2);
PHPFungsi utama dari method diff() adalah untuk mengembalikan perbedaan antara dua collection. Method ini menerima 1 parameter yang berisi collection atau array lainnya yang akan dibandingkan dan method ini akan mengembalikan collection baru yang berisi elemen-elemen yang ada di collection pertama tetapi tidak ada di collection kedua. Oke setelah kita memahami konsep dasar dari method diff() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/diff','diff')->name('collects.diff');
routes/web.phpKemudian pada collection controller kita akan menggunakan method diff() untuk melihat apakah ada element pada collection pertama tapi tidak ada di collection kedua seperti berikut
public function diff()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry','tomato']);
$vegetables = collect(['carrot', 'potato', 'tomato', 'onion', 'cucumber']);
dump($fruits->diff($vegetables));
}
app/Http/Controllers/CollectionController.phpMethod diff() berguna untuk menemukan elemen-elemen yang ada di satu collection tetapi tidak ada di collection lainnya. Method ini memungkinkan Anda untuk membandingkan dua collection dan mendapatkan elemen-elemen yang tidak ada di collection target.
diffAssoc()
Method diffAssoc() pada Laravel Collection digunakan untuk mengembalikan perbedaan asosiatif antara dua collection. Ini beroperasi mirip dengan metode diff, tetapi dengan perbedaan bahwa diffAssoc mempertimbangkan keduanya nilai dan kunci (keys) dalam perbandingannya. Berikut ini merupakan contoh dari penggunaan method diffAssoc().
$collection1 = collect(['a' => 1, 'b' => 2, 'c' => 3]);
$collection2 = collect(['a' => 1, 'b' => 4, 'c' => 5]);
$diffAssocResult = $collection1->diffAssoc($collection2);
PHPFungsi utama dari method ini adalah mengembalikan perbedaan asosiatif antara dua collection. Anda perlu collection atau array untuk dimasukkan ke dalam method diffAsoc() dan method ini akan mengembalikan collection baru yang berisi elemen-elemen yang berbeda, baik dari segi nilai maupun kunci (keys). Oke setelah kita memahami konsep dasar dari method diffAsoc() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/diff-assoc','diffAssoc')->name('collects.diff-assoc');
routes/web.phpKemudian pada collection controller kita akan menggunakan method diffAssoc() seperti berikut:
public function diffAssoc()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry','tomato']);
$vegetables = collect(['carrot', 'potato', 'tomato', 'onion', 'cucumber']);
dump($fruits->diffAssoc($vegetables));
}
app/Http/Controllers/CollectionController.phpMethod ini berguna untuk menemukan elemen-elemen yang berbeda baik dari segi nilai maupun kunci (keys). Cocok digunakan ketika Anda perlu membandingkan elemen-elemen dalam konteks asosiatif dan mempertimbangkan kunci (keys) dalam perbandingannya.
doesntContain()
Method doesntContain digunakan untuk menentukan apakah collection tidak mengandung suatu elemen tertentu. Anda dapat mengirimkan sebuah closure atau string untuk menentukan apakah elemen tertentu tidak ada dalam collection. Berikut ini merupakan contoh dari penggunaan method doesntContain().
$collection = collect([1, 2, 3, 4, 5]);
$result = $collection->doesntContain(function (int $value, int $key) {
return $value < 5;
});
// Output dari $result: false
PHPDalam contoh di atas, method doesntContain menggunakan closure untuk menentukan apakah ada elemen yang kurang dari 5 dalam koleksi. Karena ada elemen yang kurang dari 5 (yaitu 1, 2, 3, dan 4), hasilnya adalah false.
$collection = collect(['name' => 'Desk', 'price' => 100]);
$result1 = $collection->doesntContain('Table');
// Output dari $result1: true
$result2 = $collection->doesntContain('Desk');
// Output dari $result2: false
PHPDalam contoh di atas, method doesntContain menggunakan string untuk menentukan apakah ada elemen dengan nilai ‘Table’ dalam koleksi. Karena tidak ada elemen dengan nilai ‘Table’, hasilnya adalah true. Namun, ketika kita mencari elemen dengan nilai ‘Desk’, hasilnya adalah false.
$collection = collect([
['product' => 'Desk', 'price' => 200],
['product' => 'Chair', 'price' => 100],
]);
$result = $collection->doesntContain('product', 'Bookcase');
// Output dari $result: true
PHPDalam contoh ini, method doesntContain menggunakan pasangan key/value untuk menentukan apakah pasangan tersebut tidak ada dalam koleksi. Karena pasangan key ‘product’ dengan nilai ‘Bookcase’ tidak ada dalam collection, hasilnya adalah true.
Perlu anda pertimbangkan untuk menggunakan method ini yaitu method doesntContain menggunakan perbandingan “loose” saat memeriksa nilai elemen, yang berarti string dengan nilai integer akan dianggap sama dengan integer dengan nilai yang sama.
Dengan demikian, Anda dapat menggunakan method doesntContain untuk melakukan pengecekan apakah suatu nilai, closure, atau pasangan key/value tidak ada dalam collection, memberikan fleksibilitas dalam pengelolaan data dalam Laravel.
dot()
Method dot pada Laravel Collection digunakan untuk mengubah collection bersarang (nested) menjadi satu dimensi dengan menggunakan notasi “dot” pada kunci (keys). Ini membantu membuat akses dan manipulasi data menjadi lebih mudah, terutama saat bekerja dengan struktur data yang kompleks. Berikut ini merupakan contoh dari penggunaan method dot().
$data = [
'user' => [
'name' => 'John Doe',
'email' => '[email protected]',
'roles' => [
'admin' => true,
'editor' => false,
],
],
'settings' => [
'notifications' => [
'email' => true,
'sms' => false,
],
],
];
$collection = collect($data);
$flattened = $collection->dot();
PHPFungsi utama dari method ini adalah untuk mengubah collection bersarang menjadi satu dimensi dengan menggunakan notasi “dot” pada kunci. Method ini akan mengembalikan collection baru satu dimensi dengan kunci menggunakan notasi “dot”. Oke setelah kita memahami konsep dasar dari method dot() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/dot','dot')->name('collects.dot');
routes/web.phpKemudian pada collection controller kita akan menggunakan method dot() seperti berikut:
public function dot()
{
$students = collect([
'information' => [
'name' => 'Lisa Fournier',
'age' => 19,
'gender' => 'Female',
'address' => 'Paris, France',
],
'scores' => [
'math' => 80,
'physics' => 90,
'chemistry' => 95,
'biology' => 85,
'history' => 75,
'geography' => 70,
],
'social' => [
'facebook' => 'https://facebook.com/lisa.fournier',
'twitter' => 'https://twitter.com/lisa.fournier',
'instagram' => 'https://instagram.com/lisa.fournier',
],
'friends' => [
'John Doe',
'Jane Doe',
'Johnny Doe',
],
'school' => [
'name' => 'Lycée Louis-le-Grand',
'address' => 'Paris, France',
],
'is_active' => true,
]);
dump($students->dot());
}
PHPMethod ini dapat mengubah struktur data menjadi satu dimensi memudahkan akses dan manipulasi data, terutama saat bekerja dengan data yang kompleks dan bersarang. Notasi “dot” memungkinkan Anda untuk dengan jelas melihat struktur dan relasi antar kunci, mempermudah pemahaman dan penggunaan data.
dump()
Method dump pada Laravel Collection digunakan untuk mencetak isi dari koleksi ke konsol atau output log aplikasi. Method ini sangat berguna saat Anda ingin melakukan debugging atau memeriksa isi dari suatu collection pada suatu titik tertentu dalam kode. Method ini sudah sering kita gunakan dari awal pembelajaran jadi sepertinya anda sudah memahami method ini dengan baik.
duplicates()
Pada Laravel Collection, method duplicates digunakan untuk mengembalikan elemen-elemen yang memiliki duplikat dalam collection. Elemen dianggap duplikat jika ada lebih dari satu kemunculan dari nilai tersebut. Berikut ini merupakan contoh dari penggunaan method duplicate().
$collection = collect([1, 2, 2, 3, 4, 4, 5]);
$duplicates = $collection->duplicates();
PHPFungsi utama dari method duplicates() adalah untuk mengembalikan elemen-elemen yang memiliki duplikat dalam collection. Method ini akan mengembalikan collection baru yang berisi elemen-elemen yang memiliki duplikat. Oke setelah kita memahami konsep dasar dari method duplicates() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/duplicates','duplicates')->name('collects.duplicates');
routes/web.phpKemudian pada collection controller kita akan menggunakan method duplicates() seperti berikut:
public function duplicates()
{
$recipes = collect([
['name' => 'Spaghetti Bolognese', 'category' => 'Pasta'],
['name' => 'Spaghetti Carbonara', 'category' => 'Pasta'],
['name' => 'Spaghetti Bolognese', 'category' => 'Pasta'],
['name' => 'Lasagna', 'category' => 'Pasta']
]);
dump($recipes->duplicates());
}
PHPMethod ini berguna untuk mengidentifikasi dan mengumpulkan elemen-elemen yang memiliki duplikat dalam collection. Method ini memungkinkan Anda untuk dengan mudah menemukan dan bekerja dengan elemen-elemen yang memiliki kemunculan ganda.
duplicatesStrict()
Pada Laravel Collection, method duplicatesStrict digunakan untuk mengembalikan elemen-elemen yang memiliki duplikat dalam collection dengan mempertimbangkan tipe data dan urutan. Elemen dianggap duplikat jika ada lebih dari satu kemunculan dari nilai tersebut, dan duplikat harus memiliki tipe data yang sama dan urutan yang sama. Berikut ini merupakan contoh dari penggunaan method duplicatesStrict().
$collection = collect([1, '2', 2, 3, 4, 4, 5]);
$duplicatesStrict = $collection->duplicatesStrict();
PHPFungsi utama dari method ini adalah untuk mengembalikan elemen-elemen yang memiliki duplikat dalam collection dengan mempertimbangkan tipe data dan urutan. Method ini akan mengembalikkan collection baru yang berisi elemen-elemen yang memiliki duplikat dengan mempertimbangkan tipe data dan urutan. Oke setelah kita memahami konsep dasar dari method duplicatesStrict() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/duplicates-strict','duplicatesStrict')->name('collects.duplicates-strict');
routes/web.phpKemudian pada collection controller kita akan menggunakan method duplicatesStrict() seperti berikut:
public function duplicatesStrict()
{
$scores = collect([80, 90.5, 100, 80, "80", "90.5"]);
dump($scores->duplicatesStrict());
}
routes/web.phpMethod ini berguna untuk mengidentifikasi elemen-elemen yang memiliki duplikat dengan mempertimbangkan tipe data dan urutan. Method ini memberikan fleksibilitas dalam menemukan elemen-elemen yang serupa secara ketat (tipe data dan urutan). Method duplicatesStrict hanya mengembalikan elemen yang memiliki duplikat, dan bukan menghapus duplikat dari collection. Jika Anda ingin menghapus duplikat dari collection, Anda dapat menggunakan metode unique dengan parameter strict.
each()
Method each pada Laravel Collection digunakan untuk melakukan iterasi (perulangan) melalui setiap elemen dalam collection dan menerapkan fungsi tertentu pada setiap elemen tersebut. Method ini memungkinkan Anda untuk melakukan tindakan atau manipulasi data pada setiap elemen tanpa mengubah struktur collection itu sendiri. Berikut ini merupakan contoh dari penggunaan method each().
$collection = collect([1, 2, 3, 4, 5]);
$collection->each(function ($item, $key) {
// Melakukan tindakan pada setiap elemen
echo "Key: $key, Value: $item\n";
});
PHPFungsi utama dari method each() adalah untuk melakukan iterasi melalui setiap elemen dalam collection dan menerapkan fungsi tertentu pada setiap elemen. Method ini membutuhkan callback function dengan dua parameter, yaitu nilai elemen dan kunci elemen. Oke setelah kita memahami konsep dasar dari method each() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/each','each')->name('collects.each');
routes/web.phpKemudian pada collection controller kita akan menggunakan method each() seperti berikut:
public function each()
{
$cities = collect([
[
'name' => 'Paris',
'country' => 'France',
],
[
'name' => 'Madrid',
'country' => 'Spain',
],
[
'name' => 'Rome',
'country' => 'Italy',
],
[
'name' => 'Berlin',
'country' => 'Germany',
],
[
'name' => 'London',
'country' => 'England',
],
]);
$cities->each(function ($city, $key) {
dump($city['name'] . ' is in ' . $city['country']);
});
}
PHPMethod ini berguna untuk melakukan tindakan atau manipulasi data pada setiap elemen dalam collection. Meskipun Anda dapat melakukan perubahan pada nilai elemen, method each tidak mengubah struktur koleksi aslinya. Anda juga dapat menggunakan metode each untuk melakukan iterasi pada objek PHP biasa, bukan hanya pada collection Laravel. Jika Anda ingin membuat collection baru berdasarkan hasil iterasi, Anda mungkin ingin menggunakan metode map. Berikut merupakan contoh penggunaan method each dengan objek PHP
$plainArray = [1, 2, 3, 4, 5];
$collection = collect($plainArray);
$collection->each(function ($item, $key) {
echo "Key: $key, Value: $item\n";
});
PHPeachSpread()
Method eachSpread pada Laravel Collection digunakan untuk melakukan iterasi melalui setiap elemen dalam collection dan menerapkan fungsi tertentu pada setiap elemen. Method ini mirip dengan each, namun menerima argumen fungsi callback dengan parameter yang diurai dari setiap elemen. Berikut ini merupakan contoh dari penggunaan method eachSpread().
$collection = collect([
['John', 'Doe'],
['Jane', 'Doe'],
['Jim', 'Smith'],
]);
$collection->eachSpread(function ($firstName, $lastName) {
echo "First Name: $firstName, Last Name: $lastName\n";
});
PHPFungsi utama dari method ini adalah untuk melakukan iterasi melalui setiap elemen dalam collection dan menerapkan fungsi tertentu pada setiap elemen dengan parameter yang diurai. Method ini membutuhkan callback function dengan parameter yang diurai dari setiap elemen. Oke setelah kita memahami konsep dasar dari method eachSpread() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/each-spread','eachSpread')->name('collects.each-spread');
routes/web.phpKemudian pada collection controller kita akan menggunakan method eachSpread() seperti berikut:
public function eachSpread()
{
$students = collect([
['Kenny', 90],
['Léo', 80],
['Emilia', 100],
['Camila', 100],
['Luna', 100],
['Lola', 100],
['Léa', 100],
['Lina', 100],
['Léna', 100],
]);
$students->eachSpread(function ($name, $score) {
dump($name . ' has a score of ' . $score);
});
}
PHPMethod ini memungkinkan Anda untuk mendapatkan akses langsung ke setiap elemen dalam bentuk parameter terpisah, membuat kode lebih ekspresif. Berguna untuk melakukan tindakan atau manipulasi data pada setiap elemen dalam koleksi. Jika Anda memiliki elemen bersarang atau setiap elemen memiliki struktur data yang lebih kompleks, eachSpread memudahkan untuk mengurai dan menggunakan elemen-elemen tersebut. Dengan eachSpread, Anda dapat lebih langsung mengakses setiap elemen dalam struktur data yang terorganisir.
every()
Pada Laravel Collection, method every digunakan untuk memeriksa apakah semua elemen dalam collection memenuhi suatu kondisi tertentu. Jika semua elemen memenuhi kondisi yang ditentukan, method ini mengembalikan true. Jika setidaknya satu elemen tidak memenuhi kondisi, maka method ini mengembalikan false. Berikut ini merupakan contoh dari penggunaan method every().
$collection = collect([2, 4, 6, 8, 10]);
$allEven = $collection->every(function ($item) {
return $item % 2 === 0;
});
// $allEven akan menjadi true karena semua elemen dalam koleksi adalah bilangan genap.
PHPFungsi utama dari method ini adalah untuk memeriksa apakah semua elemen dalam collection memenuhi suatu kondisi tertentu. Method ini membutuhkan callback function dengan elemen sebagai parameter. Method ini harus mengembalikan nilai boolean. true jika semua elemen memenuhi kondisi, false jika setidaknya satu elemen tidak memenuhi kondisi. Oke setelah kita memahami konsep dasar dari method every() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/every','every')->name('collects.every');
routes/web.phpKemudian pada collection controller kita akan menggunakan method every() seperti berikut:
public function every()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
]);
dump($students->every(function ($student, $key) {
return $student['score'] >= 90;
}));
}
app/Http/Controllers/CollectionController/phpMethod ini memeriksa semua elemen dalam collection, sehingga memberikan informasi apakah kondisi tertentu terpenuhi untuk setiap elemen. Callback function memberikan fleksibilitas untuk menentukan kondisi sesuai kebutuhan aplikasi. Method every berhenti mengevaluasi elemen-elemen setelah menemukan satu elemen yang tidak memenuhi kondisi. Ini dapat meningkatkan kinerja jika collection sangat besar. Penggunaan yang umum untuk method ini adalah untuk memeriksa apakah semua elemen dalam collection memenuhi suatu syarat sebelum melanjutkan ke langkah-langkah berikutnya dalam algoritma atau logika aplikasi.
except()
Method except pada Laravel Collection digunakan untuk mengembalikan collection baru yang berisi semua elemen kecuali elemen-elemen dengan kunci tertentu yang diberikan. Berikut ini merupakan contoh dari penggunaan method except().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$newCollection = $collection->except(['age']);
PHPFungsi utama dari method ini adalah untuk mengembalikan collection baru yang berisi semua elemen kecuali elemen-elemen dengan kunci tertentu. Method ini membutuhkan satu parameter yang harus diisi dalam bentuk array atau daftar kunci yang ingin dikecualikan dari collection. Method ini mengembalikan collection baru yang tidak termasuk elemen-elemen dengan kunci tertentu. Oke setelah kita memahami konsep dasar dari method except() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/except','except')->name('collects.except');
routes/web.phpKemudian pada collection controller kita akan menggunakan method except() seperti berikut:
public function except()
{
$tourisme = collect([
'name' => 'Tourisme',
'description' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.',
'category' => 'Travel',
'price' => 100,
'currency' => 'EUR',
]);
dump($tourisme->except(['price', 'currency']));
}
app/Http/Controllers/CollectionController.phpMethod ini menyederhanakan proses pemilihan elemen-elemen dalam collection berdasarkan kunci tertentu yang ingin dikecualikan. Memungkinkan Anda dengan mudah membuat subset baru dari collection tanpa harus mengubah collection asli. Jika kunci yang dikecualikan tidak ada dalam collection, method except akan tetap mengembalikan collection asli tanpa perubahan. Method ini bersifat fluks (fluent), yang berarti Anda dapat menggabungkan serangkaian operasi pada collection dalam satu ekspresi.
filter()
Method filter pada Laravel Collection digunakan untuk membuat collection baru yang berisi hanya elemen-elemen yang memenuhi kondisi tertentu. Method ini menyaring (filter) elemen-elemen berdasarkan callback function yang diberikan. Berikut ini merupakan contoh dari penggunaan method filter().
$collection = collect([1, 2, 3, 4, 5, 6]);
$filteredCollection = $collection->filter(function ($value, $key) {
return $value % 2 === 0; // Memfilter hanya elemen-elemen yang genap.
});
PHPFungsi utama dari method ini adalah untuk membuat collection baru yang berisi hanya elemen-elemen yang memenuhi kondisi tertentu. Method ini membutuhkan paramter yang harus diisi dengan callback function dengan dua parameter: nilai elemen dan kunci elemen. Fungsi ini harus mengembalikan nilai boolean. Method ini akan mengembalikan collection baru yang hanya berisi elemen-elemen yang memenuhi kondisi. Oke setelah kita memahami konsep dasar dari method filter() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/filter','filter')->name('collects.filter');
routes/web.phpKemudian pada collection controller kita akan menggunakan method filter() seperti berikut:
public function filter()
{
$cars = collect([
'BMW' => ['model' => 'X5', 'color' => 'Black', 'price' => 100000],
'Mercedes' => ['model' => 'GLC', 'color' => 'White', 'price' => 80000],
'Audi' => ['model' => 'Q7', 'color' => 'Grey', 'price' => 90000],
]);
dump($cars->filter(function ($car, $key) {
return $car['price'] >= 90000;
}));
}
app/Http/Controllers/CollectionController.phpMethod ini memberikan cara dinamis untuk menyaring elemen-elemen berdasarkan kondisi yang dapat Anda tentukan. Memungkinkan Anda dengan mudah membuat subset baru dari collection berdasarkan kriteria tertentu. Callback function yang digunakan dalam method filter harus mengembalikan nilai boolean. Jika nilai yang dikembalikan adalah true, elemen akan disertakan dalam collection baru; jika false, elemen akan diabaikan. Method filter bersifat fluks (fluent), yang berarti Anda dapat menggabungkan serangkaian operasi pada collection dalam satu ekspresi.
first()
Method first pada Laravel Collection digunakan untuk mengembalikan nilai pertama dari collection yang memenuhi kondisi tertentu atau mengembalikan nilai pertama secara umum jika tidak ada kondisi yang diberikan. Berikut ini merupakan contoh dari penggunaan method first() tanpa kondisi dan dengan kondisi.
// tanpa kondisi
$collection = collect([1, 2, 3, 4, 5]);
$firstValue = $collection->first();
// dengan kondisi
$collection = collect([1, 2, 3, 4, 5]);
$firstEvenValue = $collection->first(function ($value, $key) {
return $value % 2 === 0; // Mengembalikan nilai pertama yang genap.
});
PHPFungsi utama dari method ini adalah untuk mengembalikan nilai pertama dari collection yang memenuhi kondisi tertentu atau nilai pertama secara umum jika tidak ada kondisi. Method ini membutuhkan parameter yang harus diisi dengan callback function opsional dengan dua parameter: nilai elemen dan kunci elemen. Fungsi ini harus mengembalikan nilai boolean. Method ini akan mengembalikan nilai pertama dari collection yang memenuhi kondisi atau nilai pertama secara umum jika tidak ada kondisi. Oke setelah kita memahami konsep dasar dari method first() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/first','first')->name('collects.first');
routes/web.phpKemudian pada collection controller kita akan menggunakan method first() seperti berikut:
public function first()
{
$motorcycles = collect([
'BMW' => ['model' => 'R 1250 RT', 'color' => 'Black', 'price' => 20000],
'Honda' => ['model' => 'CB 1000 R', 'color' => 'White', 'price' => 15000],
'Kawasaki' => ['model' => 'Ninja 1000 SX', 'color' => 'Grey', 'price' => 18000],
]);
dump($motorcycles->first());
}
app/Http/Controllers/CollectionController.phpMethod ini menyediakan cara cepat untuk mendapatkan nilai pertama dari collection, baik secara umum atau dengan mempertimbangkan kondisi tertentu. Pada collection yang besar, menggunakan method first bisa lebih efisien daripada mengonversi koleksi ke array dan menggunakan fungsi PHP reset. Jika collection kosong, method first akan mengembalikan null. Jadi, pastikan untuk mengecek keberadaan nilai sebelum menggunakan hasil dari method ini. Jika Anda menggunakan method first tanpa kondisi dan koleksi kosong, method ini juga akan mengembalikan null.
firstOrFail()
Method firstOrFail pada Laravel Collection digunakan untuk mengembalikan nilai pertama dari collection yang memenuhi kondisi tertentu atau mengembalikan nilai pertama secara umum jika tidak ada kondisi. Jika tidak ada elemen yang memenuhi kondisi atau collection kosong, method ini akan menghasilkan pengecualian (ModelNotFoundException). Berikut ini merupakan contoh dari penggunaan method firstOrFail() tanpa kondisi dan dengan kondisi.
// tanpa kondisi
$collection = collect([1, 2, 3, 4, 5]);
try {
$firstValue = $collection->firstOrFail();
} catch (\Exception $exception) {
// Handle pengecualian jika koleksi kosong
// ...
}
// dengan kondisi
$collection = collect([1, 2, 3, 4, 5]);
try {
$firstEvenValue = $collection->firstOrFail(function ($value, $key) {
return $value % 2 === 0; // Mengembalikan nilai pertama yang genap.
});
// $firstEvenValue akan menjadi 2
} catch (\Exception $exception) {
// Handle pengecualian jika koleksi kosong atau tidak ada elemen yang memenuhi kondisi
// ...
}
PHPFungsi utama dari method ini adalah untuk mengembalikan nilai pertama dari collection yang memenuhi kondisi tertentu atau nilai pertama secara umum jika tidak ada kondisi. Jika tidak ada elemen yang memenuhi kondisi atau collection kosong, method ini menghasilkan pengecualian (ModelNotFoundException). Method ini membutuhkan 1 paramter yang harus diisi dengan callback function opsional dengan dua parameter: nilai elemen dan kunci elemen. Fungsi ini harus mengembalikan nilai boolean. Method ini akan mengembalikan nilai pertama dari collection yang memenuhi kondisi atau nilai pertama secara umum jika tidak ada kondisi. Oke setelah kita memahami konsep dasar dari method firstOrFail() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/first-or-fail','firstOrFail')->name('collects.first-or-fail');
routes/web.phpKemudian pada collection controller kita akan menggunakan method firstOrFail() seperti berikut:
public function firstOrFail()
{
$cats = collect([
['name' => 'Garfield', 'age' => 5],
['name' => 'Grumpy Cat', 'age' => 7],
['name' => 'Nyan Cat', 'age' => 10],
]);
$firstCat = $cats->first(function ($cat) {
return $cat['age'] >= 10;
});
if ($firstCat) {
dump($firstCat);
} else {
dump('No cat found with age >= 10');
}
}
app/Http/Controllers/CollectionController.phpMethod ini memungkinkan penanganan eksepsi secara langsung jika tidak ada elemen yang memenuhi kondisi atau collection kosong. Menyediakan cara cepat untuk mendapatkan nilai pertama dari collection dengan penanganan eksepsi bawaan. Method firstOrFail adalah salah satu method yang umum digunakan dalam Laravel ketika Anda mengharapkan ada elemen yang harus ditemukan dan ingin menangani pengecualian dengan lebih baik. Jika menggunakan method ini, pastikan untuk menangkap dan menangani eksepsi ModelNotFoundException yang mungkin terjadi.
firstWhere()
Method firstWhere pada Laravel Collection digunakan untuk mengembalikan nilai pertama dari collection yang memiliki nilai tertentu pada suatu kunci. Method ini memungkinkan Anda mencari nilai pertama dalam collection berdasarkan kriteria yang ditentukan. Berikut ini merupakan contoh dari penggunaan method firstWhere().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$firstPerson = $collection->firstWhere('name', 'Jane');
PHPFungsi utama dari method ini adalah untuk mengembalikan nilai pertama dari collection yang memiliki nilai tertentu pada suatu kunci. Method ini membutuhkan parameter yang harus diisi dengan nama kunci yang ingin dicocokkan dan nilai yang harus ditemukan. Method ini akan mengembalikan nilai pertama dari collection yang memiliki nilai tertentu pada kunci yang ditentukan. Oke setelah kita memahami konsep dasar dari method firstWhere() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/first-where','firstWhere')->name('collects.first-where');
routes/web.phpKemudian pada collection controller kita akan menggunakan method firstWhere() seperti berikut:
public function firstWhere()
{
$elements = collect([
['name' => 'Hydrogen', 'symbol' => 'H', 'weight' => 1.008],
['name' => 'Helium', 'symbol' => 'He', 'weight' => 4.003],
['name' => 'Lithium', 'symbol' => 'Li', 'weight' => 6.941],
['name' => 'Beryllium', 'symbol' => 'Be', 'weight' => 9.012],
['name' => 'Boron', 'symbol' => 'B', 'weight' => 10.811],
['name' => 'Carbon', 'symbol' => 'C', 'weight' => 12.011],
['name' => 'Nitrogen', 'symbol' => 'N', 'weight' => 14.007],
['name' => 'Oxygen', 'symbol' => 'O', 'weight' => 15.999],
['name' => 'Fluorine', 'symbol' => 'F', 'weight' => 18.998],
['name' => 'Neon', 'symbol' => 'Ne', 'weight' => 20.180],
]);
dump($elements->firstWhere('weight', '>', 15));
}
app/Http/Controllers/CollectionController.phpMethod ini memudahkan pencarian nilai pertama dalam collection berdasarkan kriteria tertentu pada suatu kunci. Memberikan cara yang mudah dan efisien untuk mencari elemen dalam collection tanpa harus menggunakan method lebih kompleks. Jika tidak ada elemen dalam collection yang memiliki nilai yang sesuai dengan kriteria yang ditentukan, method firstWhere akan mengembalikan null. Method ini bersifat fluks (fluent), yang berarti Anda dapat menggabungkan serangkaian operasi pada collection dalam satu ekspresi.
flatMap()
Method flatMap pada Laravel Collection digunakan untuk menggabungkan langkah-langkah pemetaan (mapping) dan penggantian (flattening) dalam satu operasi. Method ini menerima sebuah callback function yang diterapkan pada setiap elemen collection dan menggabungkan hasilnya menjadi satu koleksi yang rata. Berikut ini merupakan contoh dari penggunaan method flatMap().
$collection = collect([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]);
$result = $collection->flatMap(function ($item) {
return array_map(function ($value) {
return $value * 2;
}, $item);
});
PHPFungsi utama dari method ini adalah untuk menggabungkan langkah-langkah pemetaan dan penggantian dalam satu operasi. Method ini membutuhkan parameter yang harus diisi dengan callback function dengan elemen sebagai parameter. Fungsi ini harus mengembalikan array atau objek iterable. Method ini mengembalikan collection yang dihasilkan dari menggabungkan hasil pemetaan dan penggantian. Oke setelah kita memahami konsep dasar dari method flatMap() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/flat-map','flatMap')->name('collects.flatMap');
routes/web.phpKemudian pada collection controller kita akan menggunakan method flatMap() seperti berikut:
public function flatMap()
{
$students = collect([
['name' => 'John Doe', 'scores' => [80, 90, 100]],
['name' => 'Jane Doe', 'scores' => [90, 100, 100]],
['name' => 'Johnny Doe', 'scores' => [100, 100, 100]],
]);
dump($students->flatMap(function ($student, $key) {
return $student['scores'];
}));
}
app/Http/Controllers/CollectionController.phpMemungkinkan penggunaan callback function untuk melakukan pemetaan dan menggabungkan hasilnya dalam satu langkah. Callback function dapat memetakan setiap elemen koleksi ke array atau objek iterable apa pun. Method flatMap sering digunakan ketika Anda ingin menghasilkan satu collection yang rata dari hasil pemetaan yang melibatkan operasi per elemen. Hasil dari pemetaan dapat berupa array, objek iterable, atau collection lainnya. Hasil tersebut akan digabungkan ke dalam satu collection rata.
flatten()
Method flatten pada Laravel Collection digunakan untuk “meratakan” (flatten) struktur bersarang dari collection menjadi satu dimensi. Ini berguna ketika Anda memiliki collection yang berisi array bersarang dan ingin mengonversinya menjadi satu collection datar. Berikut ini merupakan contoh dari penggunaan method flatten().
$collection = collect([
1,
[2, 3],
[4, [5, 6]],
7,
]);
$result = $collection->flatten();
PHPFungsi utama dari method ini adalah untuk meratakan struktur bersarang dari collection menjadi satu dimensi. Method ini mengembalikan collection yang dihasilkan setelah meratakan struktur bersarang. Oke setelah kita memahami konsep dasar dari method flatten() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/flatten','flatten')->name('collects.flatten');
routes/web.phpKemudian pada collection controller kita akan menggunakan method flatten() seperti berikut:
public function flatten()
{
$students = collect([
['name' => 'John Doe', 'scores' => [80, 90, 100]],
['name' => 'Jane Doe', 'scores' => [90,]],
['name' => 'Johnny Doe', 'scores' => [100, 100]],
]);
dump($students->flatten());
}
app/Http/Controllers/CollectionController.phpMethod ini membantu menyederhanakan collection dengan menghapus tingkat bersarang dan mengonversinya menjadi satu dimensi. Meratakan collection membuatnya lebih mudah untuk diolah dan digunakan dalam konteks yang memerlukan struktur datar. Method flatten akan secara rekursif meratakan struktur bersarang, sehingga hasilnya akan selalu satu dimensi. Method ini juga dapat digunakan untuk meratakan hanya sejumlah tingkat tertentu dengan memberikan argumen jumlah tingkat yang diinginkan (default adalah satu tingkat).
flip()
Method flip pada Laravel Collection digunakan untuk membalikkan kunci dan nilai dalam collection. Artinya, nilai-nilai yang sebelumnya menjadi kunci akan menjadi nilai, dan sebaliknya. Berikut ini merupakan contoh dari penggunaan method flip().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$result = $collection->flip();
PHPFungsi utama dari method ini adalah untuk memutar atau membalikkan kunci dan nilai dalam collection. Method ini mengembalikan collection baru yang memiliki kunci dan nilai yang dibalikkan. Oke setelah kita memahami konsep dasar dari method flip() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/flip','flip')->name('collects.flip');
routes/web.phpKemudian pada collection controller kita akan menggunakan method flip() seperti berikut:
public function flip()
{
$transports = collect([
'car' => 'BMW',
'motorcycle' => 'Honda',
'plane' => 'Boeing',
'ship' => 'Titanic',
]);
dump($transports->flip());
}
app/Http/Controllers/CollectionController.phpMethod ini berguna ketika Anda perlu bekerja dengan kunci dan nilai dalam konteks yang berbeda atau ingin melakukan pencarian berdasarkan nilai sebelumnya. Ingatlah bahwa proses flipping dapat mengakibatkan hilangnya nilai-nilai yang sama karena kunci dalam collection harus unik. Jika terdapat beberapa elemen dalam collection dengan nilai yang sama, hasil flipping akan menghasilkan collection yang lebih kecil karena kunci harus unik.
forget()
Method forget pada Laravel Collection digunakan untuk menghapus elemen dari collection berdasarkan kunci yang diberikan. Berikut ini merupakan contoh dari penggunaan method forget().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$collection->forget('age');
PHPFungsi utama dari method ini adalah untuk menghapus elemen dari collection berdasarkan kunci yang diberikan. Method ini membutuhkan parameter yang harus diisi yaitu kunci elemen yang ingin dihapus. Oke setelah kita memahami konsep dasar dari method forget() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/forget','forget')->name('collects.forget');
routes/web.phpKemudian pada collection controller kita akan menggunakan method forget() seperti berikut:
public function forget()
{
$supermarkets = collect([
'Carrefour',
'Auchan',
'Leclerc',
'Lidl',
'Aldi',
]);
$supermarkets->forget(3);
dump($supermarkets);
}
app/Http/Controllers/CollectionController.phpMethod forget memungkinkan Anda untuk mengubah struktur collection dengan menghapus elemen berdasarkan kunci tertentu. Method ini mengubah collection secara langsung tanpa perlu menyimpan hasil pengembalian. Jika kunci yang diberikan tidak ada dalam collection, method forget tidak melakukan apa-apa.
forPage()
Method forPage pada Laravel Collection digunakan untuk membatasi collection menjadi sejumlah elemen tertentu untuk halaman tertentu. Ini sering digunakan dalam konteks pembuatan halaman atau paginasi untuk menampilkan sebagian kecil data pada setiap halaman. Berikut ini merupakan contoh dari penggunaan method forPage().
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$perPage = 3; // Jumlah elemen per halaman
$pageNumber = 2; // Nomor halaman yang diinginkan
$result = $collection->forPage($pageNumber, $perPage);
PHPFungsi utama dari method ini adalah untuk memuat sejumlah elemen tertentu untuk halaman tertentu dalam collection. Method ini membutuhkan parameter yang harus diisi dengan nomor halaman yang diinginkan dan jumlah elemen per halaman. Method ini mengembalikan collection baru yang berisi elemen-elemen untuk halaman tertentu. Oke setelah kita memahami konsep dasar dari method forPage() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/for-page','forPage')->name('collects.for-page');
routes/web.phpKemudian pada collection controller kita akan menggunakan method forPage() seperti berikut:
public function forPage()
{
$pages = collect([
['title' => 'Page 1', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 2', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 3', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 4', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 5', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 6', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 7', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 8', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 9', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Page 10', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
]);
dump($pages->forPage(2, 3));
}
app/Http/Controllers/CollectionController.phpMethod ini sangat berguna untuk implementasi paginasi atau tampilan data dalam jumlah terbatas pada setiap halaman. Memungkinkan Anda untuk membagi collection menjadi halaman-halaman yang sesuai dengan kebutuhan tampilan atau paginasi. Jika jumlah elemen per halaman atau nomor halaman yang diinginkan menyebabkan tidak ada elemen yang diambil, hasilnya akan menjadi collection kosong.
get()
Method get pada Laravel Collection digunakan untuk mendapatkan nilai dari collection berdasarkan kunci yang diberikan. Method ini mirip dengan pengaksesan nilai array dengan menggunakan kunci. Berikut ini merupakan contoh dari penggunaan method get().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$name = $collection->get('name'); // Mengambil nilai dengan kunci 'name'
$gender = $collection->get('gender', 'Male'); // Mengambil nilai dengan kunci 'gender'; jika tidak ada, kembalikan nilai default 'Male'
PHPFungsi utama dari method ini adalah untuk mendapatkan nilai dari collection berdasarkan kunci yang diberikan. Method ini membutuhkan parameter yang harus diisi dengan kunci yang ingin dicari dan nilai default (opsional) jika kunci tidak ditemukan. Method ini mengembalikan nilai dari collection berdasarkan kunci atau nilai default jika kunci tidak ditemukan. Oke setelah kita memahami konsep dasar dari method get() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/get','get')->name('collects.get');
routes/web.phpKemudian pada collection controller kita akan menggunakan method get() seperti berikut:
public function get()
{
$vegetables = collect([
'carrot' => ['color' => 'orange', 'price' => 1.2],
'potato' => ['color' => 'brown', 'price' => 1.4],
'tomato' => ['color' => 'red', 'price' => 1.99],
'onion' => ['color' => 'white', 'price' => 0.99],
'cucumber' => ['color' => 'green', 'price' => 1.49],
]);
dump($vegetables->get('tomato'));
}
app/Http/Controllers/CollectionController.phpMethod ini memungkinkan pengaksesan nilai dalam collection dengan menggunakan kunci. Anda dapat memberikan nilai default yang akan dikembalikan jika kunci tidak ditemukan dalam collection. Jika kunci tidak ditemukan dalam collection dan tidak ada nilai default yang diberikan, method get akan mengembalikan null.
groupBy()
Method groupBy pada Laravel Collection digunakan untuk mengelompokkan elemen collection berdasarkan nilai tertentu, biasanya berdasarkan kunci atau hasil dari callback function. Berikut ini merupakan contoh dari penggunaan method groupBy().
$collection = collect([
['name' => 'John', 'city' => 'New York'],
['name' => 'Jane', 'city' => 'San Francisco'],
['name' => 'Bob', 'city' => 'New York'],
['name' => 'Alice', 'city' => 'San Francisco'],
]);
$grouped = $collection->groupBy('city');
/*
$grouped akan berisi:
[
'New York' => [
['name' => 'John', 'city' => 'New York'],
['name' => 'Bob', 'city' => 'New York'],
],
'San Francisco' => [
['name' => 'Jane', 'city' => 'San Francisco'],
['name' => 'Alice', 'city' => 'San Francisco'],
],
]
*/
PHPFungsi utama dari method ini adalah untuk mengelompokkan elemen collection berdasarkan nilai tertentu, biasanya berdasarkan kunci atau hasil dari callback function. Method ini membutuhkan parameter yang harus diisi dengan kunci atau callback function yang menentukan kriteria pengelompokan. Method ini mengembalikan collection baru yang berisi kelompok-kelompok berdasarkan kriteria tertentu. Oke setelah kita memahami konsep dasar dari method groupBy() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/groupBy','groupBy')->name('collects.groupBy');
routes/web.phpKemudian pada collection controller kita akan menggunakan method groupBy() seperti berikut:
public function groupBy()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->groupBy('category'));
}
app/Http/Controllers/CollectionController.phpMethod groupBy sangat berguna untuk mengorganisasi data dalam bentuk kelompok berdasarkan kriteria tertentu. Method groupBy sangat berguna untuk mengorganisasi data dalam bentuk kelompok berdasarkan kriteria tertentu. Kriteria pengelompokan dapat berupa kunci atau hasil dari callback function, memberikan fleksibilitas dalam cara data dielompokkan. Hasil dari groupBy adalah sebuah collection asosiatif di mana kunci adalah nilai kelompok, dan nilai adalah collection elemen yang termasuk dalam kelompok tersebut.
has()
Method has pada Laravel Collection digunakan untuk memeriksa apakah collection memiliki kunci tertentu. Method ini mengembalikan true jika kunci ada dalam collection dan false jika tidak. Berikut ini merupakan contoh dari penggunaan method has().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$hasAge = $collection->has('age'); // Mengembalikan true karena kunci 'age' ada
$hasGender = $collection->has('gender'); // Mengembalikan false karena kunci 'gender' tidak ada
PHPFungsi utama dari method ini adalah untuk memeriksa apakah collection memiliki kunci tertentu. Method ini membutuhkan parameter yang harus diisi yaitu kunci yang ingin diperiksa keberadaannya dalam collection. Method ini akan mengembalikan true jika kunci ada dalam collection, dan false jika tidak. Oke setelah kita memahami konsep dasar dari method has() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/has','has')->name('collects.has');
routes/web.phpKemudian pada collection controller kita akan menggunakan method has() seperti berikut:
public function has()
{
$animals = collect([
'name' => 'Lion',
'category' => 'Wild',
'weight' => 200,
]);
dump($animals->has('category'));
}
app/Http/Controllers/CollectionController.phpMethod ini berguna untuk memeriksa keberadaan kunci dalam collection sebelum melakukan operasi lebih lanjut. Memungkinkan pengecekan yang mudah terhadap ketersediaan kunci tanpa perlu menggunakan kondisi manual. Hasil dari method has adalah boolean (true atau false).
hasAny()
Method hasAny pada Laravel Collection digunakan untuk memeriksa apakah collection memiliki salah satu dari beberapa kunci yang diberikan. Method ini mengembalikan true jika setidaknya satu kunci ada dalam collection dan false jika tidak ada. Berikut ini merupakan contoh dari penggunaan method hasAny().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$hasAny = $collection->hasAny(['age', 'gender']); // Mengembalikan true karena 'age' ada dalam koleksi
$hasAnyOther = $collection->hasAny(['gender', 'country']); // Mengembalikan false karena tidak ada kunci yang cocok
PHPFungsi utama dari method ini adalah untuk memeriksa apakah collection memiliki salah satu dari beberapa kunci yang diberikan. Method ini membutuhkan parameter yang harus diisi dengan array dari kunci-kunci yang ingin diperiksa keberadaannya dalam collection. Method ini mengembalikan nilai true jika setidaknya satu kunci ada dalam collection, dan false jika tidak. Oke setelah kita memahami konsep dasar dari method hasAny() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/has-any','hasAny')->name('collects.has-any');
routes/web.phpKemudian pada collection controller kita akan menggunakan method hasAny() seperti berikut:
public function hasAny()
{
$dogs = collect([
'name' => 'Bulldog',
'category' => 'Domestic',
'weight' => 30,
]);
dump($dogs->hasAny(['name', 'category']));
}
app/Http/Controllers/CollectionController.phpMethod ini memungkinkan pemeriksaan keberadaan lebih dari satu kunci dalam satu panggilan. Berguna ketika Anda perlu memeriksa ketersediaan setidaknya satu kunci dari sekumpulan kunci yang diberikan. Hasil dari method hasAny adalah boolean (true atau false).
implode()
Method implode pada Laravel Collection digunakan untuk menggabungkan nilai-nilai dalam collection menjadi satu string dengan separator tertentu. Berikut ini merupakan contoh dari penggunaan metode implode().
$collection = collect(['apple', 'banana', 'orange']);
$implodeResult = $collection->implode(', ');
PHPFungsi utama dari method ini adalah menggabungkan nilai-nilai dalam koleksi menjadi satu string dengan separator tertentu. Method ini membutuhkan parameter yang diisi dengan nilai separator yang digunakan untuk menggabungkan nilai-nilai (opsional, defaultnya adalah kosong). Metode ini mengembalikan String yang dihasilkan dari penggabungan nilai-nilai dalam koleksi. Oke setelah kita memahami konsep dasar dari method implode() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/implode','implode')->name('collects.implode');
routes/web.phpKemudian pada collection controller kita akan menggunakan method implode() seperti berikut:
public function implode()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
dump($fruits->implode(','));
}
app/Http/Controllers/CollectionController.phpMetode ini mempermudah penggabungan nilai-nilai dalam koleksi menjadi satu string, yang sering digunakan untuk pembuatan output atau representasi string. Anda dapat menentukan separator sesuai dengan kebutuhan Anda. Jika koleksi berisi array, metode implode akan mengonversi array tersebut menjadi string sebelum menggabungkannya.
intersect()
Metode intersect pada Laravel Collection digunakan untuk mendapatkan nilai-nilai yang ada di dua atau lebih koleksi. Metode ini mengembalikan koleksi baru yang berisi elemen-elemen yang terdapat di semua koleksi yang diberikan. Berikut ini merupakan contoh dari penggunaan metode intersect().
$collection1 = collect([1, 2, 3, 4, 5]);
$collection2 = collect([3, 4, 5, 6, 7]);
$intersectResult = $collection1->intersect($collection2);
PHPFungsi utama dari method ini adalah mendapatkan nilai-nilai yang ada di dua atau lebih koleksi. Method ini membutuhkan parameter yang diisi dengan koleksi atau array lain yang ingin diuji interseksinya dengan koleksi ini. Method ini mengembalikan koleksi baru yang berisi elemen-elemen yang terdapat di semua koleksi yang diberikan. Oke setelah kita memahami konsep dasar dari method intersect() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/intersect','intersect')->name('collects.intersect');
routes/web.phpKemudian pada collection controller kita akan menggunakan method intersect() seperti berikut:
public function intersect()
{
$fruits = collect([
['name' => 'Apple', 'price' => 20],
['name' => 'Orange', 'price' => 35],
['name' => 'Mango', 'price' => 13],
]);
$vegetables = collect([
['name' => 'tomato', 'price' => 20],
['name' => 'onion', 'price' => 13],
]);
$results = $fruits
->pluck('price')
->intersect($vegetables->pluck('price'));
dump($results);
}
app/Http/Controllers/CollectionController.phpMetode ini berguna untuk mendapatkan nilai-nilai yang terdapat di dua atau lebih koleksi, sehingga dapat digunakan untuk pemfilteran nilai bersama. Metode intersect hanya mengembalikan nilai-nilai yang terdapat di semua koleksi yang diberikan. Jika ada nilai yang hanya muncul di satu koleksi, nilai tersebut tidak akan termasuk dalam hasil interseksi.
isEmpty()
Metode isEmpty pada Laravel Collection digunakan untuk memeriksa apakah koleksi kosong atau tidak. Metode ini mengembalikan true jika koleksi tidak memiliki elemen dan false jika koleksi memiliki elemen. Berikut ini merupakan contoh dari penggunaan metode isEmpty().
$emptyCollection = collect([]);
$nonEmptyCollection = collect([1, 2, 3]);
$isEmptyResult1 = $emptyCollection->isEmpty(); // Mengembalikan true karena koleksi kosong
$isEmptyResult2 = $nonEmptyCollection->isEmpty(); // Mengembalikan false karena koleksi tidak kosong
PHPFungsi utama dari method ini adalah memeriksa apakah koleksi kosong atau tidak. Method ini mengembalikan true jika koleksi kosong, dan false jika koleksi tidak kosong. Oke setelah kita memahami konsep dasar dari method isEmpty() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/is-empty','isEmpty')->name('collects.is-empty');
routes/web.phpKemudian pada collection controller kita akan menggunakan method isEmpty() seperti berikut:
public function isEmpty()
{
$qty = collect([1,2,3,4,5]);
dump($qty->isEmpty());
}
app/Http/Controllers/CollectionController.phpMetode ini memberikan cara cepat dan mudah untuk memeriksa apakah suatu koleksi tidak memiliki elemen. Metode isEmpty berguna dalam logika pengkodean untuk menentukan apakah suatu tindakan atau operasi perlu dilakukan pada koleksi.
isNotEmpty()
Metode isNotEmpty pada Laravel Collection adalah kebalikan dari metode isEmpty. Metode ini digunakan untuk memeriksa apakah koleksi tidak kosong atau memiliki elemen. Metode isNotEmpty mengembalikan true jika koleksi memiliki elemen dan false jika koleksi kosong. Berikut ini merupakan contoh dari penggunaan metode isNotEmpty().
$emptyCollection = collect([]);
$nonEmptyCollection = collect([1, 2, 3]);
$isNotEmptyResult1 = $emptyCollection->isNotEmpty(); // Mengembalikan false karena koleksi kosong
$isNotEmptyResult2 = $nonEmptyCollection->isNotEmpty(); // Mengembalikan true karena koleksi tidak kosong
PHPFungsi utama dari method ini adalah memeriksa apakah koleksi tidak kosong atau memiliki elemen. Method ini mengembalikan true jika koleksi tidak kosong, dan false jika koleksi kosong. Oke setelah kita memahami konsep dasar dari method isNotEmpty() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/is-not-empty','isNotEmpty')->name('collects.is-not-empty');
routes/web.phpKemudian pada collection controller kita akan menggunakan method isNotEmpty() seperti berikut:
public function isNotEmpty()
{
$discount = collect([]);
dump($discount->isNotEmpty());
}
app/Http/Controllers/CollectionController.phpMetode ini memberikan cara cepat dan mudah untuk memeriksa apakah suatu koleksi memiliki elemen. Metode isNotEmpty sering digunakan dalam logika pengkodean untuk menentukan apakah suatu tindakan atau operasi perlu dilakukan pada koleksi yang tidak kosong.
join()
Metode join pada Laravel Collection digunakan untuk menggabungkan nilai-nilai dalam koleksi menjadi satu string, dengan menggunakan delimiter atau separator tertentu. Berikut ini merupakan contoh dari penggunaan metode join().
$collection = collect(['apple', 'banana', 'orange']);
$joinResult = $collection->join(', '); // Menggabungkan nilai dengan koma dan spasi sebagai separator
// Hasilnya adalah string 'apple, banana, orange'
PHPFungsi utama dari method ini adalah menggabungkan nilai-nilai dalam koleksi menjadi satu string dengan menggunakan delimiter. Metode ini membutuhkan parameter yang diisi dengan delimiter atau separator yang digunakan untuk menggabungkan nilai-nilai (opsional, defaultnya adalah kosong). Metode ini mengembalikan string yang dihasilkan dari penggabungan nilai-nilai dalam koleksi. Oke setelah kita memahami konsep dasar dari method join() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/join','join')->name('collects.join');
routes/web.phpKemudian pada collection controller kita akan menggunakan method join() seperti berikut:
public function join()
{
$softwares = collect([
'Adobe Photoshop',
'Adobe Illustrator',
'Adobe InDesign',
'Adobe XD',
'Adobe Premiere Pro',
'Adobe After Effects',
]);
dump($softwares->join(', '));
}
app/Http/Controllers/CollectionController.phpMetode join berguna untuk menggabungkan nilai-nilai dalam koleksi menjadi satu string dengan delimiter tertentu, yang sering digunakan untuk pembuatan output atau representasi string. Anda dapat menentukan delimiter sesuai dengan kebutuhan Anda. Jika koleksi berisi array, metode join akan mengonversi array tersebut menjadi string sebelum menggabungkannya.
keyBy()
Metode keyBy pada Laravel Collection digunakan untuk mengelompokkan elemen-elemen koleksi berdasarkan kunci yang ditentukan. Metode ini mengembalikan koleksi baru dengan kunci yang dihasilkan oleh callback atau nilai dari properti tertentu. Berikut ini merupakan contoh dari penggunaan metode keyBy().
$collection = collect([
['id' => 1, 'name' => 'John'],
['id' => 2, 'name' => 'Jane'],
['id' => 3, 'name' => 'Doe'],
]);
$keyedByResult = $collection->keyBy('id');
// Hasilnya adalah koleksi baru dengan kunci berdasarkan nilai 'id'
// ['1' => ['id' => 1, 'name' => 'John'], '2' => ['id' => 2, 'name' => 'Jane'], '3' => ['id' => 3, 'name' => 'Doe']]
PHPFungsi utama dari method ini adalah mengelompokkan elemen-elemen koleksi berdasarkan kunci yang ditentukan. Metode ini membutuhkan parameter yang diisi dengan allback atau nama properti yang akan digunakan sebagai kunci. Metode ini mengembalikan koleksi baru dengan kunci yang dihasilkan oleh callback atau nilai dari properti tertentu. Oke setelah kita memahami konsep dasar dari method keyBy() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/key-by','keyBy')->name('collects.key-by');
routes/web.phpKemudian pada collection controller kita akan menggunakan method keyBy() seperti berikut:
public function keyBy()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 100],
['name' => 'Emilia Doe', 'score' => 100],
]);
dump($students->keyBy('score'));
}
app/Http/Controllers/CollectionController.phpMetode keyBy berguna untuk membuat grup elemen-elemen koleksi berdasarkan kunci tertentu, sehingga mempermudah akses dan manipulasi data. Kunci dihasilkan berdasarkan nilai yang dikembalikan oleh callback atau nilai dari properti yang diidentifikasi.
keys()
Metode keys pada Laravel Collection digunakan untuk mengembalikan semua kunci (indeks) dari elemen-elemen dalam koleksi sebagai koleksi baru. Berikut ini merupakan contoh dari penggunaan metode keys().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$keysResult = $collection->keys();
// Hasilnya adalah koleksi baru ['name', 'age', 'city']
PHPFungsi utama dari method ini adalah mengembalikan semua kunci (indeks) dari elemen-elemen dalam koleksi. Metode ini mengembalikan koleksi baru yang berisi semua kunci (indeks) dari elemen-elemen dalam koleksi. Oke setelah kita memahami konsep dasar dari method keys() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/keys','keys')->name('collects.keys');
routes/web.phpKemudian pada collection controller kita akan menggunakan method keys() seperti berikut:
public function keys()
{
$cars = collect([
'BMW' => ['model' => 'X5', 'color' => 'Black', 'price' => 100000],
'Mercedes' => ['model' => 'GLC', 'color' => 'White', 'price' => 80000],
'Audi' => ['model' => 'Q7', 'color' => 'Grey', 'price' => 90000],
]);
dump($cars->keys());
}
app/Http/Controllers/CollectionController.phpMetode keys berguna ketika Anda perlu mengakses atau memanipulasi kunci-kunci dari elemen-elemen dalam koleksi. Koleksi hasil dari metode keys dapat digunakan untuk iterasi atau operasi lainnya pada kunci-kunci koleksi.
last()
Metode last pada Laravel Collection digunakan untuk mengembalikan elemen terakhir dari koleksi. Berikut ini merupakan contoh dari penggunaan metode last().
$collection = collect([1, 2, 3, 4, 5]);
$lastElement = $collection->last();
// Hasilnya adalah nilai 5
PHPFungsi utama dari method ini adalah mengembalikan elemen terakhir dari koleksi. Oke setelah kita memahami konsep dasar dari method last() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/last','last')->name('collects.last');
routes/web.phpKemudian pada collection controller kita akan menggunakan method last() seperti berikut:
public function last()
{
$motorcycles = collect([
'BMW' => ['model' => 'R 1250 RT', 'color' => 'Black', 'price' => 20000],
'Honda' => ['model' => 'CB 1000 R', 'color' => 'White', 'price' => 15000],
'Kawasaki' => ['model' => 'Ninja 1000 SX', 'color' => 'Grey', 'price' => 18000],
]);
dump($motorcycles->last());
}
app/Http/Controllers/CollectionController.phpMetode last berguna ketika Anda perlu mengambil nilai terakhir dari koleksi. Jika koleksi kosong, metode last akan mengembalikan null.
lazy()
Metode lazy pada Laravel Collection digunakan untuk membuat koleksi “lazy,” yang berarti elemen-elemen dalam koleksi hanya akan dihitung atau dievaluasi saat diperlukan. Hal ini dapat meningkatkan kinerja karena tidak semua elemen dievaluasi sekaligus. Berikut ini merupakan contoh dari penggunaan metode lazy().
$collection = collect([1, 2, 3, 4, 5]);
$lazyCollection = $collection->lazy();
// Hasilnya adalah koleksi lazy yang belum dievaluasi
PHPFungsi utama dari method ini adalah membuat koleksi “lazy,” yang elemennya hanya dievaluasi saat diperlukan. Oke setelah kita memahami konsep dasar dari method lazy() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/lazy','lazy')->name('collects.lazy');
routes/web.phpKemudian pada collection controller kita akan menggunakan method lazy() seperti berikut:
public function lazy()
{
$coffee = collect([
'name' => 'Coffee',
'price' => 1.2,
'currency' => 'EUR',
]);
$coffee->lazy();
}
app/Http/Controllers/CollectionController.phpMetode lazy memungkinkan evaluasi terlambat, di mana elemen-elemen koleksi hanya dihitung saat diperlukan. Hal ini dapat mengoptimalkan penggunaan sumber daya dan meningkatkan kinerja dalam beberapa kasus. Koleksi lazy akan mengevaluasi elemennya secara otomatis saat Anda mencoba mengakses atau memanipulasi elemen tersebut.
macro()
Metode macro pada Laravel Collection memungkinkan Anda menambahkan metode kustom (macro) ke koleksi. Dengan kata lain, Anda dapat menambahkan fungsionalitas kustom ke objek Collection sesuai kebutuhan aplikasi Anda. Berikut ini merupakan contoh dari penggunaan metode macro().
use Illuminate\Support\Collection;
Collection::macro('customMethod', function () {
return 'This is a custom method added to the Collection.';
});
$collection = collect();
$result = $collection->customMethod();
// Hasilnya adalah string 'This is a custom method added to the Collection.'
PHPFungsi utama dari method ini adalah menambahkan metode kustom (macro) ke koleksi. Metode ini membutuhkan paramater yang harus diisi dengan nama metode dan fungsi callback yang mendefinisikan perilaku metode. Metode ini mengembalikan bergantung pada logika yang diimplementasikan dalam metode kustom. Oke setelah kita memahami konsep dasar dari method macro() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/macro','macro')->name('collects.macro');
routes/web.phpKemudian pada collection controller kita akan menggunakan method macro() seperti berikut:
public function macro()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 100],
['name' => 'Emilia Doe', 'score' => 100],
]);
$students->macro('averageScore', function () use ($students) {
return $students->average('score');
});
dump($students->averageScore());
}
app/Http/Controllers/CollectionController.phpMetode macro memberikan fleksibilitas besar karena memungkinkan penambahan fungsionalitas kustom ke koleksi tanpa mengubah core framework. Metode kustom yang ditambahkan dengan macro hanya tersedia untuk instansiasi koleksi yang spesifik di mana macro tersebut didefinisikan.
make()
Metode make pada Laravel Collection digunakan untuk membuat koleksi baru dari array atau objek yang dapat di-iterasi. Metode ini memberikan cara cepat untuk membuat koleksi tanpa perlu menggunakan konstruktor Collection. Berikut ini merupakan contoh dari penggunaan metode make().
$collection = collect([1, 2, 3, 4, 5]);
$newCollection = collect()->make($collection);
// Hasilnya adalah koleksi baru [1, 2, 3, 4, 5]
PHPFungsi utama dari method ini adalah membuat koleksi baru dari array atau objek yang dapat di-iterasi. Metode ini membutuhkan parameter yang diisi dengan array atau objek yang dapat di-iterasi. Metode ini mengembalikan koleksi baru yang dibuat dari array atau objek yang dapat di-iterasi. Oke setelah kita memahami konsep dasar dari method make() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/make','make')->name('collects.make');
routes/web.phpKemudian pada collection controller kita akan menggunakan method make() seperti berikut:
public function make()
{
$family = collect(['John', 'Jane', 'Johnny']);
dump($family->make());
}
app/Http/Controllers/CollectionController.phpMetode make memberikan cara cepat untuk membuat koleksi baru dari array atau objek yang dapat di-iterasi tanpa perlu menggunakan konstruktor Collection. Metode make dapat digunakan untuk membuat koleksi dari berbagai jenis objek yang dapat di-iterasi, termasuk array PHP, objek Collection lainnya, atau iterator.
map()
Metode map pada Laravel Collection digunakan untuk menerapkan fungsi callback ke setiap elemen dalam koleksi. Fungsi callback ini memodifikasi atau mentransformasi setiap elemen, dan hasilnya adalah koleksi baru yang berisi hasil transformasi tersebut. Berikut ini merupakan contoh dari penggunaan metode map().
$collection = collect([1, 2, 3, 4, 5]);
$mappedCollection = $collection->map(function ($item) {
return $item * 2;
});
// Hasilnya adalah koleksi baru [2, 4, 6, 8, 10]
PHPFungsi utama dari method ini adalah menerapkan fungsi callback ke setiap elemen dalam koleksi. Metode ini membutuhkan parameter yang harus diisi dengan fungsi callback yang akan diterapkan ke setiap elemen. Metode ini mengembalikan koleksi baru yang berisi hasil transformasi setiap elemen. Oke setelah kita memahami konsep dasar dari method map() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/map','map')->name('collects.map');
routes/web.phpKemudian pada collection controller kita akan menggunakan method map() seperti berikut:
public function map()
{
$products = collect([
['name' => 'Product 1', 'price' => 100],
['name' => 'Product 2', 'price' => 200],
['name' => 'Product 3', 'price' => 300],
['name' => 'Product 4', 'price' => 400],
['name' => 'Product 5', 'price' => 500],
]);
dump($products->map(function ($product, $key) {
return $product['price'] * 2;
}));
}
app/Http/Controllers/CollectionController.phpMetode map memungkinkan transformasi setiap elemen dalam koleksi sesuai dengan logika yang ditentukan oleh fungsi callback. Metode map tidak memodifikasi koleksi asli, melainkan menghasilkan koleksi baru dengan elemen-elemen yang telah diubah.
max()
Metode max pada Laravel Collection digunakan untuk mengembalikan nilai maksimum dari elemen-elemen koleksi. Metode ini berguna untuk menemukan nilai maksimum dari angka atau string di dalam koleksi. Berikut ini merupakan contoh dari penggunaan metode max().
$collection = collect([1, 5, 3, 8, 2]);
$maxValue = $collection->max();
// Hasilnya adalah nilai maksimum, yaitu 8
PHPFungsi utama dari method ini adalah mengembalikan nilai maksimum dari elemen-elemen koleksi. Oke setelah kita memahami konsep dasar dari method max() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/max','max')->name('collects.max');
routes/web.phpKemudian pada collection controller kita akan menggunakan method max() seperti berikut:
public function max()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->max('price'));
}
app/Http/Controllers/CollectionController.phpMetode max memudahkan pencarian nilai maksimum dalam koleksi numerik. Jika koleksi berisi elemen-elemen yang tidak dapat dibandingkan (misalnya, objek), metode max mungkin tidak memberikan hasil yang diharapkan.
median()
Pada Laravel, metode median pada Collection digunakan untuk menghitung nilai median dari elemen-elemen numerik dalam koleksi. Median adalah nilai tengah dari rangkaian data yang telah diurutkan. Berikut ini merupakan contoh dari penggunaan metode median().
$collection = collect([1, 5, 3, 8, 2]);
$medianValue = $collection->median();
// Hasilnya adalah nilai median, yaitu 3
PHPFungsi utama dari method ini adalah menghitung nilai median dari elemen-elemen koleksi. Oke setelah kita memahami konsep dasar dari method median() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/median','median')->name('collects.median');
routes/web.phpKemudian pada collection controller kita akan menggunakan method median() seperti berikut:
public function median()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->median('price'));
}
app/Http/Controllers/CollectionController.phpMetode median berguna untuk menghitung nilai median dalam rangkaian data numerik. Koleksi akan diurutkan sebelum menghitung nilai median. Jika jumlah elemen dalam koleksi ganjil, nilai median adalah elemen tengah; jika genap, nilai median adalah rata-rata dari dua elemen tengah.
merge()
Metode merge pada Laravel Collection digunakan untuk menggabungkan satu atau lebih koleksi dengan koleksi yang sedang dipanggil. Metode ini berguna untuk menggabungkan data dari beberapa sumber menjadi satu. Berikut ini merupakan contoh dari penggunaan metode merge().
$collection1 = collect(['a' => 1, 'b' => 2]);
$collection2 = collect(['b' => 3, 'c' => 4]);
$mergedCollection = $collection1->merge($collection2);
// Hasilnya adalah koleksi baru ['a' => 1, 'b' => 3, 'c' => 4]
PHPFungsi utama dari method ini adalah menggabungkan satu atau lebih koleksi dengan koleksi yang sedang dipanggil. Metode ini membutuh parameter yang dapat diisi satu atau lebih koleksi atau array yang akan digabungkan. Metode ini mengembalikan koleksi baru yang merupakan hasil penggabungan. Oke setelah kita memahami konsep dasar dari method merge() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/merge','merge')->name('collects.merge');
routes/web.phpKemudian pada collection controller kita akan menggunakan method merge() seperti berikut:
public function merge()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
$vegetables = collect(['carrot', 'potato', 'tomato', 'onion', 'cucumber']);
dump($fruits->merge($vegetables));
}
app/Http/Controllers/CollectionController.phpMetode merge memungkinkan penggabungan data dari beberapa koleksi atau array menjadi satu koleksi. Jika terdapat kunci yang sama di kedua koleksi, nilai dari koleksi yang sedang dipanggil akan diambil.
min()
Metode min pada Laravel Collection digunakan untuk mengembalikan nilai minimum dari elemen-elemen koleksi. Metode ini berguna untuk menemukan nilai minimum dari angka atau string di dalam koleksi. Berikut ini merupakan contoh dari penggunaan metode min().
$collection = collect([1, 5, 3, 8, 2]);
$minValue = $collection->min();
// Hasilnya adalah nilai minimum, yaitu 1
PHPFungsi utama dari method ini adalah mengembalikan nilai minimum dari elemen-elemen koleksi. Oke setelah kita memahami konsep dasar dari method min() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/min','min')->name('collects.min');
routes/web.phpKemudian pada collection controller kita akan menggunakan method min() seperti berikut:
public function min()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->min('price'));
}
app/Http/Controllers/CollectionController.phpMetode min memudahkan pencarian nilai minimum dalam koleksi numerik. Jika koleksi berisi elemen-elemen yang tidak dapat dibandingkan (misalnya, objek), metode min mungkin tidak memberikan hasil yang diharapkan.
mode()
Pada Laravel, metode mode pada Collection digunakan untuk menghitung nilai modus dari elemen-elemen koleksi. Modus adalah nilai atau nilai-nilai yang paling sering muncul dalam kumpulan data. Berikut ini merupakan contoh dari penggunaan metode mode().
$collection = collect([1, 2, 2, 3, 4, 4, 5]);
$modeValue = $collection->mode();
// Hasilnya adalah nilai modus, yaitu [2, 4]
PHPFungsi utama dari method ini adalah menghitung nilai modus dari elemen-elemen koleksi. Oke setelah kita memahami konsep dasar dari method mode() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/mode','mode')->name('collects.mode');
routes/web.phpKemudian pada collection controller kita akan menggunakan method mode() seperti berikut:
public function mode()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->mode('price'));
}
app/Http/Controllers/CollectionController.phpMetode mode berguna untuk menghitung nilai modus dari kumpulan data dalam koleksi. Hasil dari metode mode dapat berupa array karena ada kemungkinan terdapat lebih dari satu nilai modus.
nth()
Pada Laravel, metode nth pada Collection digunakan untuk mengambil setiap n-ke elemen dari koleksi. Metode ini memungkinkan Anda untuk mengambil setiap elemen yang berada pada posisi kelipatan tertentu dalam koleksi. Berikut ini merupakan contoh dari penggunaan metode nth().
$collection = collect(['a', 'b', 'c', 'd', 'e']);
$nthElements = $collection->nth(2);
// Hasilnya adalah koleksi baru ['a', 'c', 'e']
PHPFungsi utama dari method ini adalah mengambil setiap n-ke elemen dari koleksi. Metode ini membutuhkan parameter yang diisi dengan jarak (n) antara elemen-elemen yang diambil. Metode ini mengembalikan koleksi baru yang berisi setiap n-ke elemen. Oke setelah kita memahami konsep dasar dari method nth() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/nth','nth')->name('collects.nth');
routes/web.phpKemudian pada collection controller kita akan menggunakan method nth() seperti berikut:
public function nth()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 100],
['name' => 'Emilia Doe', 'score' => 100],
]);
dump($students->nth(2));
}
app/Http/Controllers/CollectionController.phpMetode nth memudahkan pemilihan elemen berdasarkan jarak (n) tertentu. Jika indeks dimulai dari 0, elemen pertama (indeks 0) akan dianggap sebagai elemen ke-n.
only()
Metode only pada Laravel Collection digunakan untuk memfilter koleksi berdasarkan kunci yang diberikan. Metode ini memungkinkan Anda untuk mengambil hanya elemen-elemen yang memiliki kunci tertentu. Berikut ini merupakan contoh dari penggunaan metode only().
$collection = collect(['name' => 'John', 'age' => 30, 'city' => 'New York']);
$filteredCollection = $collection->only(['name', 'city']);
// Hasilnya adalah koleksi baru ['name' => 'John', 'city' => 'New York']
PHPFungsi utama dari method ini adalah memfilter koleksi berdasarkan kunci yang diberikan. Metode ini membutuhkan parameter yang harus diisi dengan array atau daftar kunci yang ingin dipertahankan dalam koleksi. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen dengan kunci yang disebutkan. Oke setelah kita memahami konsep dasar dari method only() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/only','only')->name('collects.only');
routes/web.phpKemudian pada collection controller kita akan menggunakan method only() seperti berikut:
public function only()
{
$tourisme = collect([
'name' => 'Tourisme',
'description' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.',
'category' => 'Travel',
'price' => 100,
'currency' => 'EUR',
]);
dump($tourisme->only(['name', 'price']));
}
app/Http/Controllers/CollectionController.phpMetode only memudahkan pemilihan elemen berdasarkan kunci tertentu dalam koleksi. Jika kunci yang diminta tidak ada dalam koleksi, mereka akan diabaikan dalam hasilnya.
pad()
Metode pad pada Laravel Collection digunakan untuk mengisi koleksi dengan nilai yang diberikan sehingga mencapai panjang yang diinginkan. Metode ini berguna ketika Anda ingin memastikan bahwa koleksi memiliki panjang tertentu, dan jika tidak, elemen tambahan akan diisi dengan nilai tertentu. Berikut ini merupakan contoh dari penggunaan metode pad().
$collection = collect([1, 2, 3]);
$paddedCollection = $collection->pad(5, 0);
// Hasilnya adalah koleksi baru [1, 2, 3, 0, 0]
PHPFungsi utama dari method ini adalah mengisi koleksi dengan nilai yang diberikan sehingga mencapai panjang yang diinginkan. Metode ini membutuhkan parameter yang harus diisi dengan panjang target koleksi, nilai yang akan diisi pada elemen tambahan (opsional, defaultnya adalah null). Metode ini mengembalikan koleksi baru dengan panjang yang diinginkan. Oke setelah kita memahami konsep dasar dari method pad() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/pad','pad')->name('collects.pad');
routes/web.phpKemudian pada collection controller kita akan menggunakan method pad() seperti berikut:
public function pad()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
dump($fruits->pad(10, 'tomato'));
}
app/Http/Controllers/CollectionController.phpMetode pad memungkinkan penambahan elemen dengan nilai tertentu hingga koleksi mencapai panjang yang diinginkan. Jika panjang koleksi sudah melebihi panjang target, metode pad tidak akan memotong koleksi.
partition()
Metode partition pada Laravel Collection digunakan untuk membagi koleksi menjadi dua bagian berdasarkan hasil evaluasi dari suatu kondisi yang diberikan. Metode ini mengembalikan dua koleksi: satu berisi elemen-elemen yang memenuhi kondisi, dan yang lainnya berisi elemen-elemen yang tidak memenuhi kondisi. Berikut ini merupakan contoh dari penggunaan metode partition().
$collection = collect([1, 2, 3, 4, 5, 6]);
list($even, $odd) = $collection->partition(function ($item) {
return $item % 2 === 0;
});
// $even berisi koleksi [2, 4, 6]
// $odd berisi koleksi [1, 3, 5]
PHPFungsi utama dari method ini adalah membagi koleksi menjadi dua berdasarkan kondisi yang diberikan. Metode ini membutuhkan parameter yang diisi fungsi pengevaluasi kondisi untuk setiap elemen koleksi. Metode ini mengembalikan dua koleksi, satu berisi elemen-elemen yang memenuhi kondisi, dan satu lagi berisi elemen-elemen yang tidak memenuhi kondisi. Oke setelah kita memahami konsep dasar dari method partition() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/partition','partition')->name('collects.partition');
routes/web.phpKemudian pada collection controller kita akan menggunakan method partition() seperti berikut:
public function partition()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 100],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 100],
['name' => 'Emilia Doe', 'score' => 100],
]);
dump($students->partition(function ($student, $key) {
return $student['score'] >= 90;
}));
}
app/Http/Controllers/CollectionController.phpMetode partition berguna untuk memisahkan elemen-elemen koleksi berdasarkan suatu kondisi. Hasil dari metode partition berupa dua koleksi: satu berisi elemen yang memenuhi kondisi, dan satu lagi berisi elemen yang tidak memenuhi kondisi.
percentage()
Metode ini digunakan untuk menentukan persentase item dalam koleksi yang memenuhi kondisi tertentu. Berikut ini merupakan contoh dari penggunaan metode percentage().
$collection = collect([1, 1, 2, 2, 2, 3]);
$percentage = $collection->percentage(fn ($value) => $value === 1);
// Hasilnya adalah 33.33 (dibulatkan ke dua desimal)
PHPFungsi utama dari method ini adalah menentukan persentase item dalam koleksi yang memenuhi kondisi tertentu. Metode ini memerlukan parameter yang harus diisi dengan fungsi pengevaluasi kondisi untuk setiap elemen koleksi. Presisi (opsional, defaultnya adalah 2 desimal). Metode ini mengembalikan persentase item yang memenuhi kondisi. Oke setelah kita memahami konsep dasar dari method percentage() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/percentage','percentage')->name('collects.percentage');
routes/web.phpKemudian pada collection controller kita akan menggunakan method percentage() seperti berikut:
public function percentage()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
dump($students->percentage(function ($student, $key) {
return $student['score'] >= 90;
}));
}
app/Http/Controllers/CollectionController.phpMetode percentage memudahkan penghitungan persentase item dalam koleksi berdasarkan kondisi tertentu. Secara default, persentase akan dibulatkan ke dua desimal. Namun, Anda dapat menyesuaikan perilaku ini dengan menyediakan argumen kedua ke metode untuk menentukan presisi yang diinginkan.
pipe()
Metode pipe pada Laravel Collection digunakan untuk meneruskan koleksi melalui serangkaian operasi atau fungsi kustom dalam urutan tertentu. Metode ini memfasilitasi penggunaan potongan kode yang bersih dan mudah dibaca dengan memungkinkan Anda untuk memanipulasi koleksi secara bertahap. Berikut ini merupakan contoh dari penggunaan metode pipe().
$collection = collect([1, 2, 3]);
$result = $collection->pipe(function ($collection) {
return $collection->map(function ($item) {
return $item * 2;
})->filter(function ($item) {
return $item > 2;
});
});
// $result berisi koleksi [4, 6]
PHPFungsi utama dari method ini adalah memanipulasi koleksi melalui serangkaian operasi atau fungsi. Metode ini membutuhkan parameter yang harus diisi dengan fungsi atau serangkaian fungsi yang menerima dan mengembalikan koleksi. Metode ini mengembalikan hasil akhir dari operasi atau fungsi yang diterapkan pada koleksi. Oke setelah kita memahami konsep dasar dari method pipe() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/pipe','pipe')->name('collects.pipe');
routes/web.phpKemudian pada collection controller kita akan menggunakan method pipe() seperti berikut:
public function pipe()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
$students->pipe(function ($students) {
return $students->where('score', '>=', 90);
});
}
app/Http/Controllers/CollectionController.phpMetode pipe memungkinkan pemrosesan koleksi secara bertahap dengan memanfaatkan fungsi atau operasi yang dapat diaplikasikan dalam urutan tertentu. Setiap fungsi yang diaplikasikan melalui pipe harus menerima koleksi sebagai parameter dan mengembalikan koleksi. Hasil dari pipe bisa menjadi dasar untuk operasi atau fungsi selanjutnya.
pluck()
Metode pluck pada Laravel Collection digunakan untuk mengekstrak nilai dari atribut tertentu atau kunci dalam koleksi. Ini berguna ketika Anda ingin membuat larik atau koleksi baru yang berisi hanya nilai-nilai dari kunci atau atribut tertentu dari setiap elemen dalam koleksi. Berikut ini merupakan contoh dari penggunaan metode pluck().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Doe', 'age' => 35],
]);
$names = $collection->pluck('name');
// Hasilnya adalah koleksi ['John', 'Jane', 'Doe']
PHPFungsi utama dari method ini adalah mengekstrak nilai dari kunci atau atribut tertentu dalam koleksi. Metode ini membutuhkan parameter yang harus diisi dengan nama kunci atau atribut yang nilainya ingin diekstrak. Metode ini mengembalikan koleksi baru yang berisi nilai-nilai dari kunci atau atribut yang ditentukan. Oke setelah kita memahami konsep dasar dari method pluck() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/pluck','pluck')->name('collects.pluck');
routes/web.phpKemudian pada collection controller kita akan menggunakan method pluck() seperti berikut:
public function pluck()
{
$cars = collect([
['brand' => 'BMW', 'model' => 'X5', 'color' => 'Black', 'price' => 100000],
['brand' => 'Mercedes', 'model' => 'GLC', 'color' => 'White', 'price' => 80000],
['brand' => 'Audi', 'model' => 'Q7', 'color' => 'Grey', 'price' => 90000],
]);
dump($cars->pluck('brand'));
}
app/Http/Controllers/CollectionController.phpMetode pluck memungkinkan ekstraksi nilai-nilai spesifik dari setiap elemen dalam koleksi. Jika ada beberapa elemen dalam koleksi yang tidak memiliki kunci yang ditentukan, mereka akan diabaikan dalam hasilnya.
push()
Metode push pada Laravel Collection digunakan untuk menambahkan satu atau beberapa elemen baru ke akhir koleksi. Metode ini memodifikasi koleksi asli dan mengembalikan jumlah elemen baru setelah penambahan. Berikut ini merupakan contoh dari penggunaan metode push().
$collection = collect([1, 2, 3]);
$collection->push(4);
// Sekarang $collection berisi [1, 2, 3, 4]
PHPFungsi utama dari method ini adalah menambahkan satu atau beberapa elemen baru ke akhir koleksi. Metode ini membutuhkan parameter yang harus diisi dengan elemen atau larik elemen yang ingin ditambahkan ke koleksi. Metode ini mengembalikan jumlah elemen baru setelah penambahan. Oke setelah kita memahami konsep dasar dari method push() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/push','push')->name('collects.push');
routes/web.phpKemudian pada collection controller kita akan menggunakan method push() seperti berikut:
public function push()
{
$articles = collect([
['title' => 'What is Lorem Ipsum?', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Why do we use it?', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Where does it come from?', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
['title' => 'Where can I get some?', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.'],
]);
$articles->push(['title' => 'The standard Lorem Ipsum passage', 'content' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, voluptatum.']);
}
app/Http/Controllers/CollectionController.phpMetode push memungkinkan penambahan elemen baru ke akhir koleksi. Jika Anda ingin menambahkan beberapa elemen sekaligus, Anda dapat menyediakan larik elemen sebagai parameter.
put()
Metode put pada Laravel Collection digunakan untuk menetapkan nilai pada kunci tertentu dalam koleksi. Jika kunci yang ditentukan sudah ada dalam koleksi, nilai kunci tersebut akan diperbarui; jika tidak, kunci baru akan ditambahkan ke koleksi. Berikut ini merupakan contoh dari penggunaan metode put().
$collection = collect(['name' => 'John', 'age' => 30]);
$collection->put('occupation', 'Developer');
// Sekarang $collection berisi ['name' => 'John', 'age' => 30, 'occupation' => 'Developer']
PHPFungsi utama dari method ini adalah menetapkan nilai pada kunci tertentu dalam koleksi. Metode ini membutuhkan parameter yang harus diisi dengan kunci yang nilainya ingin ditetapkan, nilai yang ingin ditetapkan pada kunci tersebut. Oke setelah kita memahami konsep dasar dari method put() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/put','put')->name('collects.put');
routes/web.phpKemudian pada collection controller kita akan menggunakan method put() seperti berikut:
public function put()
{
$categories = collect([
'Travel' => ['Tourisme', 'Hotels', 'Flights'],
'Food' => ['Restaurants', 'Fast Food', 'Cafés'],
'Shopping' => ['Clothes', 'Shoes', 'Accessories'],
]);
$categories->put('Sports', ['Football', 'Basketball', 'Tennis']);
}
app/Http/Controllers/CollectionController.phpMetode put memungkinkan Anda menetapkan nilai pada kunci tertentu dalam koleksi. Metode ini bekerja baik untuk menambahkan kunci baru atau memperbarui nilai kunci yang sudah ada.
random()
Metode random pada Laravel Collection digunakan untuk mengambil satu atau beberapa elemen acak dari koleksi. Jika Anda tidak menyediakan parameter, metode ini akan mengambil satu elemen acak dari koleksi. Jika Anda menyediakan parameter, metode ini akan mengambil sejumlah elemen acak sesuai dengan jumlah yang Anda tentukan. Berikut ini merupakan contoh dari penggunaan metode random().
$collection = collect([1, 2, 3, 4, 5]);
$randomElement = $collection->random();
// Hasilnya adalah satu elemen acak dari koleksi
PHPFungsi utama dari method ini adalah mengambil satu atau beberapa elemen acak dari koleksi. Metode ini membutuhkan parameter yang harus diisi dengan jumlah elemen yang ingin diambil (opsional, defaultnya adalah 1). Metode ini mengembalikan elemen acak atau larik elemen acak sesuai dengan jumlah yang diinginkan. Oke setelah kita memahami konsep dasar dari method random() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/random','random')->name('collects.random');
routes/web.phpKemudian pada collection controller kita akan menggunakan method random() seperti berikut:
public function random()
{
$likes = collect([
'PHP',
'Laravel',
'JavaScript',
'Vue.js',
'React',
'Angular',
'Node.js',
'Python',
'Django',
'Flask',
'Ruby',
'Rails',
'Java',
'Spring',
'C#',
'ASP.NET',
'C++',
'C',
'Go',
'Rust',
'Swift',
'Kotlin',
'Dart',
]);
dump($likes->random());
}
app/Http/Controllers/CollectionController.phpMetode random berguna untuk memilih elemen acak dari koleksi, yang dapat berguna dalam konteks seperti pengacakan atau pengambilan elemen secara acak. Metode ini tidak mengubah koleksi asli; hanya mengembalikan elemen-elemen acak.
range()
Metode range pada Laravel Collection digunakan untuk membuat koleksi berisi rentang angka atau karakter sesuai dengan parameter yang diberikan. Metode ini sering digunakan untuk membuat urutan angka atau karakter dalam suatu rentang tertentu. Berikut ini merupakan contoh dari penggunaan metode range().
$collection = collect(range(1, 5));
// Hasilnya adalah koleksi [1, 2, 3, 4, 5]
PHPFungsi utama dari method ini adalah membuat koleksi berisi rentang angka atau karakter. Metode ini membutuhkan parameter yang harus diisi dengan nilai awal dan akhir rentang (dan opsionalnya, langkah). Metode ini mengembalikan koleksi yang berisi rentang angka atau karakter. Oke setelah kita memahami konsep dasar dari method range() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/range','range')->name('collects.range');
routes/web.phpKemudian pada collection controller kita akan menggunakan method range() seperti berikut:
public function range()
{
$numbers = collect(range(1, 10));
dump($numbers);
}
app/Http/Controllers/CollectionController.phpMetode range memudahkan pembuatan koleksi yang berisi rentang angka atau karakter. Parameter ketiga opsional dan dapat digunakan untuk menentukan langkah antar nilai dalam rentang.
reduce()
Metode reduce pada Laravel Collection digunakan untuk mereduksi koleksi menjadi satu nilai tunggal. Reduksi ini dilakukan dengan menerapkan suatu fungsi khusus pada setiap elemen koleksi dan mengakumulasikan hasilnya. Berikut ini merupakan contoh dari penggunaan metode reduce().
$collection = collect([1, 2, 3, 4, 5]);
$result = $collection->reduce(function ($carry, $item) {
return $carry + $item;
}, 0);
// Hasilnya adalah jumlah semua elemen koleksi: 15
PHPFungsi utama dari method ini adalah mereduksi koleksi menjadi satu nilai tunggal. Metode ini membutuhkan parameter yang harus diisi dengan fungsi reduksi dan nilai awal (opsional). Metode ini mengembalikan nilai tunggal hasil reduksi. Oke setelah kita memahami konsep dasar dari method reduce() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/reduce','reduce')->name('collects.reduce');
routes/web.phpKemudian pada collection controller kita akan menggunakan method reduce() seperti berikut:
public function reduce()
{
$numbers = collect(range(1, 10));
dump($numbers->reduce(function ($carry, $number) {
return $carry + $number;
}));
}
app/Http/Controllers/CollectionController.phpMetode reduce memungkinkan Anda mereduksi koleksi menjadi satu nilai tunggal dengan menerapkan fungsi pada setiap elemen. Nilai awal adalah nilai awal dari akumulator dan dapat diabaikan jika tidak diberikan.
reject()
Metode reject pada Laravel Collection digunakan untuk membuat koleksi baru yang berisi elemen-elemen dari koleksi asli yang tidak lolos dari suatu uji atau kondisi tertentu. Berikut ini merupakan contoh dari penggunaan metode reject().
$collection = collect([1, 2, 3, 4, 5]);
$filteredCollection = $collection->reject(function ($item) {
return $item % 2 == 0;
});
// Hasilnya adalah koleksi [1, 3, 5]
PHPFungsi utama dari method ini adalah membuat koleksi baru yang berisi elemen-elemen yang tidak lolos dari suatu kondisi. Metode ini membutuhkan parameter yang harus diisi dengan fungsi uji atau kondisi. Metode ini mengembalikan koleksi baru yang berisi elemen-elemen yang tidak lolos dari kondisi yang diuji. Oke setelah kita memahami konsep dasar dari method reject() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/reject','reject')->name('collects.reject');
routes/web.phpKemudian pada collection controller kita akan menggunakan method reject() seperti berikut:
public function reject()
{
$numbers = collect(range(1, 10));
dump($numbers->reject(function ($number, $key) {
return $number % 2 === 0;
}));
}
app/Http/Controllers/CollectionController.phpMetode reject memungkinkan Anda membuat koleksi baru yang hanya berisi elemen-elemen yang tidak memenuhi suatu kondisi. Elemen-elemen yang tidak lolos dari kondisi akan dimasukkan ke dalam koleksi baru.
reverse()
Metode reverse pada Laravel Collection digunakan untuk membuat koleksi baru yang berisi elemen-elemen dari koleksi asli yang diurutkan secara terbalik, atau dengan kata lain, elemen-elemen tersebut dibalik urutannya. Berikut ini merupakan contoh dari penggunaan metode reverse().
$collection = collect([1, 2, 3, 4, 5]);
$reversedCollection = $collection->reverse();
// Hasilnya adalah koleksi [5, 4, 3, 2, 1]
PHPFungsi utama dari method ini adalah membuat koleksi baru yang berisi elemen-elemen yang diurutkan secara terbalik. Oke setelah kita memahami konsep dasar dari method reverse() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/reverse','reverse')->name('collects.reverse');
routes/web.phpKemudian pada collection controller kita akan menggunakan method reverse() seperti berikut:
public function reverse()
{
$numbers = collect(range(1, 10));
dump($numbers->reverse());
}
app/Http/Controllers/CollectionController.phpMetode reverse memungkinkan Anda membuat koleksi baru yang berisi elemen-elemen yang diurutkan secara terbalik. Metode ini tidak mengubah koleksi asli; hanya membuat koleksi baru yang diurutkan secara terbalik.
replace()
Metode replace pada Laravel Collection digunakan untuk menggantikan nilai dalam koleksi dengan nilai baru berdasarkan kriteria tertentu. Metode ini memodifikasi koleksi asli dan tidak membuat koleksi baru. Berikut ini merupakan contoh dari penggunaan metode replace().
$collection = collect(['apple' => 1, 'banana' => 2, 'cherry' => 3]);
$collection->replace(['banana' => 5, 'orange' => 7]);
// Hasilnya adalah koleksi ['apple' => 1, 'banana' => 5, 'cherry' => 3, 'orange' => 7]
PHPFungsi utama dari method ini adalah menggantikan nilai dalam koleksi berdasarkan kriteria tertentu. Metode ini membutuhkan paramter yang harus diisi dengan koleksi atau array asosiatif yang berisi nilai baru yang akan digunakan untuk menggantikan nilai dalam koleksi. Oke setelah kita memahami konsep dasar dari method replace() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/replace','replace')->name('collects.replace');
routes/web.phpKemudian pada collection controller kita akan menggunakan method replace() seperti berikut:
public function replace()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
$vegetables = collect(['carrot', 'potato', 'tomato', 'onion', 'cucumber']);
dump($fruits->replace($vegetables));
}
app/Http/Controllers/CollectionController.phpMetode replace memungkinkan Anda menggantikan nilai dalam koleksi dengan nilai baru berdasarkan kriteria tertentu. Jika kunci dalam koleksi tidak ditemukan dalam array pengganti, kunci tersebut akan tetap ada dalam koleksi.
search()
Metode search pada Laravel Collection digunakan untuk mencari indeks pertama dari elemen yang memiliki nilai tertentu dalam koleksi. Metode ini mengembalikan indeks elemen pertama yang ditemukan atau false jika elemen tidak ditemukan. Berikut ini merupakan contoh dari penggunaan metode search().
$collection = collect([2, 4, 6, 8, 10]);
$index = $collection->search(6);
// Hasilnya adalah indeks pertama dari elemen dengan nilai 6, yaitu 2
PHPFungsi utama dari method ini adalah mencari indeks pertama dari elemen yang memiliki nilai tertentu dalam koleksi. Metode ini membutuhkan parameter yang harus diisi dengan nilai yang dicari dalam koleksi. Metode ini mengembalikan indeks pertama elemen yang memiliki nilai tersebut atau false jika tidak ditemukan. Oke setelah kita memahami konsep dasar dari method search() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/search','search')->name('collects.search');
routes/web.phpKemudian pada collection controller kita akan menggunakan method search() seperti berikut:
public function search()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
dump($fruits->search('orange'));
}
app/Http/Controllers/CollectionController.phpMetode search memudahkan pencarian indeks pertama dari elemen dengan nilai tertentu dalam koleksi. Jika nilai tidak ditemukan dalam koleksi, metode ini mengembalikan false. Metode ini menggunakan perbandingan ketat (strict comparison).
shift()
Metode shift pada Laravel Collection digunakan untuk menghapus dan mengembalikan elemen pertama dari koleksi. Metode ini memodifikasi koleksi asli dan dapat digunakan untuk mengambil dan menghapus elemen pertama dari suatu koleksi. Berikut ini merupakan contoh dari penggunaan metode shift().
$collection = collect([1, 2, 3, 4, 5]);
$firstElement = $collection->shift();
// Hasilnya adalah nilai elemen pertama yang dihapus, yaitu 1
// Koleksi sekarang adalah [2, 3, 4, 5]
PHPFungsi utama dari method ini adalah menghapus dan mengembalikan elemen pertama dari koleksi. Metode ini mengembalikan nilai elemen pertama yang dihapus dari koleksi atau null jika koleksi kosong. Oke setelah kita memahami konsep dasar dari method shift() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/shift','shift')->name('collects.shift');
routes/web.phpKemudian pada collection controller kita akan menggunakan method shift() seperti berikut:
public function shift()
{
$foods = collect([
['name' => 'Pizza', 'price' => 10],
['name' => 'Burger', 'price' => 5],
['name' => 'Pasta', 'price' => 12],
['name' => 'Salad', 'price' => 8],
]);
dump($foods->shift());
}
app/Http/Controllers/CollectionController.phpMetode shift berguna untuk mengambil dan menghapus elemen pertama dari koleksi. Jika koleksi kosong, metode ini mengembalikan null. Metode ini memodifikasi koleksi asli.
shuffle()
Metode shuffle pada Laravel Collection digunakan untuk mengacak urutan elemen dalam koleksi. Metode ini memodifikasi koleksi asli dengan mengacak posisi elemen-elemen di dalamnya. Berikut ini merupakan contoh dari penggunaan metode shuffle().
$collection = collect([1, 2, 3, 4, 5]);
$shuffledCollection = $collection->shuffle();
// Koleksi asli diacak, $shuffledCollection berisi urutan acak dari elemen-elemen
PHPFungsi utama dari method ini adalah mengacak urutan elemen dalam koleksi. Oke setelah kita memahami konsep dasar dari method shuffle() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/shuffle','shuffle')->name('collects.shuffle');
routes/web.phpKemudian pada collection controller kita akan menggunakan method shuffle() seperti berikut:
public function shuffle()
{
$drinks = collect(['Coca-Cola', 'Pepsi', 'Fanta', 'Sprite', '7 Up']);
dump($drinks->shuffle());
}
app/Http/Controllers/CollectionController.phpMetode shuffle memungkinkan Anda mengacak urutan elemen dalam koleksi. Metode ini memodifikasi koleksi asli dan tidak mengembalikan koleksi baru.
skip()
Metode skip pada Laravel Collection digunakan untuk melewati sejumlah elemen tertentu dari awal koleksi dan mengembalikan koleksi baru yang dimulai dari elemen setelah elemen yang dilewati. Metode ini tidak mengubah koleksi asli. Berikut ini merupakan contoh dari penggunaan metode skip().
$collection = collect([1, 2, 3, 4, 5]);
$skippedCollection = $collection->skip(2);
// Hasilnya adalah koleksi [3, 4, 5], karena kita melewati dua elemen pertama
PHPFungsi utama dari method ini adalah melewati sejumlah elemen tertentu dari awal koleksi. Metode ini membutuhkan parameter yang harus diisi dengan jumlah elemen yang akan dilewati. Metode ini mengembalikan koleksi baru yang dimulai dari elemen setelah elemen yang dilewati. Oke setelah kita memahami konsep dasar dari method skip() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/skip','skip')->name('collects.skip');
routes/web.phpKemudian pada collection controller kita akan menggunakan method skip() seperti berikut:
public function skip()
{
$drinks = collect(['Coca-Cola', 'Pepsi', 'Fanta', 'Sprite', '7 Up']);
dump($drinks->skip(2));
}
app/Http/Controllers/CollectionController.phpMetode skip berguna untuk melewati sejumlah elemen tertentu dari awal koleksi. Jika jumlah elemen yang dilewati lebih besar dari jumlah elemen dalam koleksi, hasilnya adalah koleksi kosong. Metode ini tidak mengubah koleksi asli.
slice()
Metode slice pada Laravel Collection digunakan untuk membuat subset baru dari koleksi berdasarkan indeks awal dan panjang yang ditentukan. Metode ini tidak memodifikasi koleksi asli dan mengembalikan koleksi baru yang berisi elemen-elemen yang di-slice. Berikut ini merupakan contoh dari penggunaan metode slice().
$collection = collect([1, 2, 3, 4, 5]);
$slicedCollection = $collection->slice(1, 3);
// Hasilnya adalah koleksi [2, 3, 4], karena kita memulai dari indeks 1 dan mengambil 3 elemen
PHPFungsi utama dari method ini adalah membuat subset baru dari koleksi berdasarkan indeks awal dan panjang yang ditentukan. Metode ini membutuhkan parameter yang harus diisi dengan nilai start (indeks awal), length (panjang subset). Metode ini mengembalikan koleksi baru yang berisi elemen-elemen yang di-slice. Oke setelah kita memahami konsep dasar dari method slice() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/slice','slice')->name('collects.slice');
routes/web.phpKemudian pada collection controller kita akan menggunakan method slice() seperti berikut:
public function slice()
{
$scores = collect([80, 90, 100, 80, 100, 100, 100]);
dump($scores->slice(2, 3));
}
app/Http/Controllers/CollectionController.phpMetode slice berguna untuk membuat subset baru dari koleksi. Jika start lebih besar dari indeks terakhir koleksi, hasilnya adalah koleksi kosong. Jika length tidak ditentukan, metode ini akan mengambil elemen sampai akhir koleksi.
sliding()
Pada Laravel Collection, metode sliding digunakan untuk membuat jendela geser (sliding window) dari elemen-elemen koleksi. Metode ini mengembalikan koleksi baru yang berisi array berurutan dari elemen-elemen yang dijendela, dan jendela tersebut digeser satu per satu. Berikut ini merupakan contoh dari penggunaan metode sliding().
$collection = collect([1, 2, 3, 4, 5]);
$slidingWindows = $collection->sliding(3);
// Hasilnya adalah koleksi yang berisi array berurutan [1, 2, 3], [2, 3, 4], [3, 4, 5]
PHPFungsi utama dari method ini adalah membuat jendela geser dari elemen-elemen koleksi. Metode ini membutuhkan parameter yang harus diisi dengan nilai size (ukuran jendela, yaitu jumlah elemen dalam setiap array hasil). Metode ini mengembalikan koleksi baru yang berisi array berurutan dari elemen-elemen yang dijendela. Oke setelah kita memahami konsep dasar dari method sliding() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sliding','sliding')->name('collects.sliding');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sliding() seperti berikut:
public function sliding()
{
$numbers = collect(range(1, 10));
dump($numbers->sliding(3, 2));
}
app/Http/Controllers/CollectionController.phpMetode sliding berguna untuk membuat jendela geser dari elemen-elemen koleksi. Jika ukuran jendela lebih besar dari jumlah elemen dalam koleksi, hasilnya adalah koleksi kosong.
sole()
Metode sole pada Laravel Collection digunakan untuk mendapatkan elemen tunggal dari koleksi. Metode ini berguna ketika Anda ingin memastikan bahwa koleksi hanya berisi satu elemen, dan jika tidak, akan mengembalikan nilai default atau melempar exception. Berikut ini merupakan contoh dari penggunaan metode sole().
$collection = collect([42]);
$soleElement = $collection->sole();
// Hasilnya adalah nilai 42, karena koleksi hanya berisi satu elemen
PHPFungsi utama dari method ini adalah mendapatkan elemen tunggal dari koleksi. Metode ini membutuhkan parameter yang harus diisi dengan nilai $default (opsional, nilai default yang akan dikembalikan jika koleksi kosong atau memiliki lebih dari satu elemen). Metodi ini mengembalikan elemen tunggal dari koleksi atau nilai default jika koleksi kosong atau memiliki lebih dari satu elemen. Oke setelah kita memahami konsep dasar dari method sole() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sole','sole')->name('collects.sole');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sole() seperti berikut:
public function sole()
{
$students = collect([
['name' => 'John Doe', 'score' => 80]
]);
dump($students->sole());
}
app/Http/Controllers/CollectionController.phpMetode sole digunakan untuk memastikan bahwa koleksi hanya berisi satu elemen. Jika koleksi kosong, Anda dapat memberikan nilai default sebagai parameter kedua. Jika koleksi memiliki lebih dari satu elemen, dan tidak ada nilai default yang diberikan, metode ini akan melempar exception.
some()
Metode some pada Laravel Collection digunakan untuk memeriksa apakah setidaknya satu elemen dalam koleksi memenuhi kondisi tertentu. Metode ini mengembalikan nilai boolean yang menunjukkan apakah kondisi yang diberikan terpenuhi untuk setidaknya satu elemen dalam koleksi. Berikut ini merupakan contoh dari penggunaan metode some().
$collection = collect([1, 2, 3, 4, 5]);
$hasEven = $collection->some(function ($value) {
return $value % 2 === 0;
});
// Hasilnya adalah true, karena ada elemen genap dalam koleksi
PHPFungsi utama dari method ini adalah memeriksa apakah setidaknya satu elemen dalam koleksi memenuhi kondisi tertentu. Metode ini membutuhkan parameter yang harus diisi dengan callback (fungsi atau kondisi yang akan diperiksa). Metode ini akan mengembalikan true jika setidaknya satu elemen memenuhi kondisi, false jika tidak. Oke setelah kita memahami konsep dasar dari method some() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/some','some')->name('collects.some');
routes/web.phpKemudian pada collection controller kita akan menggunakan method some() seperti berikut:
public function some()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->some(function ($shop, $key) {
return $shop['price'] >= 200;
}));
}
app/Http/Controllers/CollectionController.phpMetode some berguna untuk memeriksa apakah setidaknya satu elemen memenuhi kondisi tertentu dalam koleksi. Metode ini menghentikan iterasi segera setelah menemukan elemen yang memenuhi kondisi. Jika tidak ada elemen yang memenuhi kondisi, hasilnya adalah false.
sort()
Metode sort pada Laravel Collection digunakan untuk mengurutkan elemen-elemen dalam koleksi secara default, yaitu secara ascending (menaik) berdasarkan nilai. Metode ini akan memodifikasi koleksi asli dan mengurutkannya. Berikut ini merupakan contoh dari penggunaan metode sort().
$collection = collect([3, 1, 4, 1, 5, 9, 2, 6, 5]);
$sortedCollection = $collection->sort();
// Hasilnya adalah koleksi yang diurutkan [1, 1, 2, 3, 4, 5, 5, 6, 9]
PHPFungsi utama dari method ini adalah mengurutkan elemen-elemen dalam koleksi secara default (ascending). Metode ini mengembalikan koleksi yang telah diurutkan. Oke setelah kita memahami konsep dasar dari method sort() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sort','sort')->name('collects.sort');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sort() seperti berikut:
public function sort()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
dump($students->sort());
}
app/Http/Controllers/CollectionController.phpMetode sort digunakan untuk mengurutkan elemen-elemen dalam koleksi secara default. Metode ini akan memodifikasi koleksi asli, bukan mengembalikan koleksi baru. Jika ingin mengurutkan secara descending (menurun), dapat menggunakan metode sortByDesc.
sortBy()
Metode sortBy pada Laravel Collection digunakan untuk mengurutkan elemen-elemen koleksi berdasarkan nilai dari suatu atribut atau kunci tertentu. Metode ini memodifikasi koleksi asli dan mengurutkannya secara ascending (menaik) berdasarkan kunci yang diidentifikasi. Berikut ini merupakan contoh dari penggunaan metode sortBy().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Doe', 'age' => 35],
]);
$sortedCollection = $collection->sortBy('age');
// Hasilnya adalah koleksi yang diurutkan berdasarkan umur [Jane, John, Doe]
PHPFungsi utama dari method ini adalah mengurutkan elemen-elemen koleksi berdasarkan nilai dari suatu atribut atau kunci tertentu. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (atribut atau kunci yang digunakan untuk pengurutan). Metode ini mengembalikan koleksi yang telah diurutkan. Oke setelah kita memahami konsep dasar dari method sortBy() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sort-by','sortBy')->name('collects.sort-by');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sortBy() seperti berikut:
public function sortBy()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
dump($students->sortBy('score'));
}
app/Http/Controllers/CollectionController.phpMetode sortBy digunakan untuk mengurutkan elemen-elemen koleksi berdasarkan nilai dari suatu atribut atau kunci tertentu. Metode ini akan memodifikasi koleksi asli, bukan mengembalikan koleksi baru. Jika ingin mengurutkan secara descending (menurun), dapat menggunakan metode sortByDesc.
sortByDesc()
Metode sortByDesc pada Laravel Collection digunakan untuk mengurutkan elemen-elemen koleksi secara descending (menurun) berdasarkan nilai dari suatu atribut atau kunci tertentu. Metode ini memodifikasi koleksi asli dan mengurutkannya secara descending. Berikut ini merupakan contoh dari penggunaan metode sortByDesc().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Doe', 'age' => 35],
]);
$sortedCollection = $collection->sortByDesc('age');
// Hasilnya adalah koleksi yang diurutkan secara descending berdasarkan umur [Doe, John, Jane]
PHPFungsi utama dari method ini adalah mengurutkan elemen-elemen koleksi secara descending berdasarkan nilai dari suatu atribut atau kunci tertentu. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (atribut atau kunci yang digunakan untuk pengurutan). Metode ini mengembalikan koleksi yang telah diurutkan secara descending. Oke setelah kita memahami konsep dasar dari method sortByDesc() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sort-by-desc','sortByDesc')->name('collects.sort-by-desc');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sortByDesc() seperti berikut:
public function sortByDesc()
{
$animals = collect([
['name' => 'Lion', 'weight' => 200],
['name' => 'Elephant', 'weight' => 5000],
['name' => 'Giraffe', 'weight' => 800],
['name' => 'Monkey', 'weight' => 30],
['name' => 'Tiger', 'weight' => 250],
['name' => 'Zebra', 'weight' => 350],
]);
dump($animals->sortByDesc('weight'));
}
app/Http/Controllers/CollectionController.phpMetode sortByDesc digunakan untuk mengurutkan elemen-elemen koleksi secara descending berdasarkan nilai dari suatu atribut atau kunci tertentu. Metode ini akan memodifikasi koleksi asli, bukan mengembalikan koleksi baru. Jika ingin mengurutkan secara ascending (menaik), dapat menggunakan metode sortBy.
sortDesc()
Metode sortDesc pada Laravel Collection digunakan untuk mengurutkan elemen-elemen koleksi secara descending (menurun). Metode ini memodifikasi koleksi asli dan mengurutkannya secara descending berdasarkan nilai default elemen-elemen tersebut. Berikut ini merupakan contoh dari penggunaan metode sortDesc().
$collection = collect([3, 1, 4, 1, 5, 9, 2, 6, 5]);
$sortedCollection = $collection->sortDesc();
// Hasilnya adalah koleksi yang diurutkan secara descending [9, 6, 5, 5, 4, 3, 2, 1, 1]
PHPFungsi utama dari method ini adalah mengurutkan elemen-elemen koleksi secara descending berdasarkan nilai default. Metode ini mengembalikan koleksi yang telah diurutkan secara descending. Oke setelah kita memahami konsep dasar dari method sortDesc() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sort-desc','sortDesc')->name('collects.sort-desc');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sortDesc() seperti berikut:
public function sortDesc()
{
$animals = collect([
['name' => 'Lion', 'weight' => 200],
['name' => 'Elephant', 'weight' => 5000],
['name' => 'Giraffe', 'weight' => 800],
['name' => 'Monkey', 'weight' => 30],
['name' => 'Tiger', 'weight' => 250],
['name' => 'Zebra', 'weight' => 350],
]);
dump($animals->sortDesc());
}
app/Http/Controllers/CollectionController.phpMetode sortDesc digunakan untuk mengurutkan elemen-elemen koleksi secara descending berdasarkan nilai default. Metode ini akan memodifikasi koleksi asli, bukan mengembalikan koleksi baru. Jika ingin mengurutkan secara ascending (menaik), dapat menggunakan metode sort.
sortKeys()
Metode sortKeys pada Laravel Collection digunakan untuk mengurutkan kunci-kunci (keys) dari elemen-elemen koleksi secara ascending (menaik). Metode ini memodifikasi koleksi asli dan mengurutkan kunci-kunci secara ascending. Berikut ini merupakan contoh dari penggunaan metode sortKeys().
$collection = collect([
'id' => 3,
'name' => 'John',
'age' => 30,
]);
$sortedCollection = $collection->sortKeys();
// Hasilnya adalah koleksi yang kunci-kuncinya diurutkan [age, id, name]
PHPFungsi utama dari method ini adalah mengurutkan kunci-kunci dari elemen-elemen koleksi secara ascending. Metode ini mengembalikan koleksi yang kunci-kuncinya telah diurutkan secara ascending. Oke setelah kita memahami konsep dasar dari method sortKeys() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sort-keys','sortKeys')->name('collects.sort-keys');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sortKeys() seperti berikut:
public function sortKeys()
{
$foods = collect([
'Pizza' => 10,
'Burger' => 5,
'Pasta' => 12,
'Salad' => 8,
]);
dump($foods->sortKeys());
}
app/Http/Controllers/CollectionController.phpMetode sortKeys digunakan untuk mengurutkan kunci-kunci dari elemen-elemen koleksi secara ascending. Metode ini akan memodifikasi koleksi asli, bukan mengembalikan koleksi baru. Jika ingin mengurutkan secara descending (menurun), dapat menggunakan metode sortKeysDesc.
splice()
Metode splice pada Laravel Collection digunakan untuk menghapus sejumlah elemen dari koleksi pada indeks tertentu dan kemudian menyisipkan elemen-elemen baru (jika ada). Metode ini memodifikasi koleksi asli. Berikut ini merupakan contoh dari penggunaan metode splice().
$collection = collect([1, 2, 3, 4, 5]);
$splicedCollection = $collection->splice(2, 2, [10, 11]);
// Hasilnya adalah koleksi yang diubah setelah operasi splice [1, 2, 10, 11, 5]
PHPFungsi utama dari method ini adalah Menghapus sejumlah elemen pada indeks tertentu dan menyisipkan elemen-elemen baru (jika ada). Metode ini membutuhkan parameter yang harus diisi dengan nilai index (indeks awal operasi splice), length (jumlah elemen yang akan dihapus), replacement (elemen-elemen baru yang akan disisipkan). Metode ini mengembalikan koleksi yang telah dimodifikasi setelah operasi splice. Oke setelah kita memahami konsep dasar dari method splice() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/splice','splice')->name('collects.splice');
routes/web.phpKemudian pada collection controller kita akan menggunakan method splice() seperti berikut:
public function splice()
{
$foods = collect([
['name' => 'Pizza', 'price' => 10],
['name' => 'Burger', 'price' => 5],
['name' => 'Pasta', 'price' => 12],
['name' => 'Salad', 'price' => 8],
]);
dump($foods->splice(1, 2));
}
app/Http/Controllers/CollectionController.phpMetode splice digunakan untuk memanipulasi koleksi dengan menghapus dan/atau menyisipkan elemen-elemen pada indeks tertentu. Metode ini akan memodifikasi koleksi asli, bukan mengembalikan koleksi baru. Jika parameter length tidak diberikan, maka akan dihapus semua elemen dari indeks index ke depan.
sum()
Metode sum pada Laravel Collection digunakan untuk menghitung jumlah total dari nilai-nilai dalam koleksi. Metode ini cocok digunakan ketika Anda memiliki koleksi dari data numerik, seperti angka atau nilai-nilai yang dapat dijumlahkan. Berikut ini merupakan contoh dari penggunaan metode sum().
$collection = collect([2, 4, 6, 8, 10]);
$total = $collection->sum();
// Hasilnya adalah jumlah total dari nilai-nilai dalam koleksi, yaitu 30
PHPFungsi utama dari method ini adalah menghitung jumlah total dari nilai-nilai dalam koleksi. Metode ini mengembalikan jumlah total dari nilai-nilai dalam koleksi. Oke setelah kita memahami konsep dasar dari method sum() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/sum','sum')->name('collects.sum');
routes/web.phpKemudian pada collection controller kita akan menggunakan method sum() seperti berikut:
public function sum()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->sum('price'));
}
app/Http/Controllers/CollectionController.phpMetode sum berguna untuk menghitung jumlah total dari nilai-nilai dalam koleksi numerik. Metode ini bekerja dengan baik untuk koleksi yang berisi nilai-nilai numerik yang dapat dijumlahkan, seperti integer atau float.
take()
Metode take pada Laravel Collection digunakan untuk mengambil sejumlah elemen pertama dari koleksi. Metode ini memungkinkan Anda untuk membuat potongan data (slice) dari awal koleksi. Berikut ini merupakan contoh dari penggunaan metode take().
$collection = collect([1, 2, 3, 4, 5]);
$subset = $collection->take(3);
// Hasilnya adalah potongan data (slice) tiga elemen pertama dari koleksi [1, 2, 3]
PHPFungsi utama dari method ini adalah mengambil sejumlah elemen pertama dari koleksi. Metode ini membutuhkan parameter yang harus diisi dengan nilai length (jumlah elemen yang akan diambil). Metode ini mengembalikan potongan data (slice) sejumlah elemen pertama dari koleksi. Oke setelah kita memahami konsep dasar dari method take() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/take','take')->name('collects.take');
routes/web.phpKemudian pada collection controller kita akan menggunakan method take() seperti berikut:
public function take()
{
$drinks = collect(['Coca-Cola', 'Pepsi', 'Fanta', 'Sprite', '7 Up']);
dump($drinks->take(3));
}
app/Http/Controllers/CollectionController.phpMetode take berguna untuk membuat potongan data (slice) dengan mengambil sejumlah elemen pertama dari koleksi. Metode ini tidak memodifikasi koleksi asli dan mengembalikan potongan data (slice) sebagai koleksi baru. Jika length melebihi jumlah elemen dalam koleksi, maka metode ini akan mengembalikan seluruh koleksi.
takeUntil()
Metode takeUntil pada Laravel Collection digunakan untuk mengambil elemen-elemen dari awal koleksi hingga kondisi tertentu terpenuhi. Metode ini menghentikan pengambilan elemen ketika kondisi yang diberikan terpenuhi. Berikut ini merupakan contoh dari penggunaan metode takeUntil().
$collection = collect([1, 2, 3, 4, 5, 6, 7, 8]);
$subset = $collection->takeUntil(function ($item) {
return $item > 4;
});
// Hasilnya adalah elemen-elemen [1, 2, 3, 4] karena kondisi terpenuhi saat elemen 5
PHPFungsi utama dari method ini adalah mengambil elemen-elemen dari awal koleksi hingga kondisi tertentu terpenuhi. Metode ini membutuhkan parameter yang harus diisi dengan nilai callback (fungsi pengecekan kondisi). Metode ini mengembalikan koleksi yang berisi elemen-elemen dari awal hingga kondisi terpenuhi. Oke setelah kita memahami konsep dasar dari method takeUntil() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/take-until','takeUntil')->name('collects.take-until');
routes/web.phpKemudian pada collection controller kita akan menggunakan method takeUntil() seperti berikut:
public function takeUntil()
{
$drinks = collect(['Coca-Cola', 'Pepsi', 'Fanta', 'Sprite', '7 Up']);
dump($drinks->takeUntil('Fanta'));
}
app/Http/Controllers/CollectionController.phpMetode takeUntil memberikan fleksibilitas untuk mengambil elemen-elemen dari awal koleksi hingga kondisi tertentu terpenuhi. Metode ini tidak memodifikasi koleksi asli dan mengembalikan koleksi baru. Pengambilan elemen berhenti saat pertama kali kondisi terpenuhi.
tap()
Metode tap pada Laravel Collection digunakan untuk memanipulasi koleksi dan kemudian menjalankan suatu fungsi callback pada koleksi tersebut. Metode ini berguna ketika Anda ingin melakukan operasi tertentu pada koleksi dan tetap mempertahankan koleksi tersebut. Berikut ini merupakan contoh dari penggunaan metode tap().
$collection = collect([1, 2, 3]);
$modifiedCollection = $collection->tap(function ($collection) {
$collection->push(4);
});
// Hasilnya adalah koleksi yang telah dimodifikasi dengan penambahan elemen 4
PHPFungsi utama dari method ini adalah memanipulasi koleksi dan menjalankan suatu fungsi callback. Metode ini membutuhkan parameter yang harus diisi dengan nilai callback (fungsi callback yang akan dijalankan pada koleksi). Oke setelah kita memahami konsep dasar dari method tap() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/tap','tap')->name('collects.tap');
routes/web.phpKemudian pada collection controller kita akan menggunakan method tap() seperti berikut:
public function tap()
{
$cars = collect([
'BMW' => ['model' => 'X5', 'color' => 'Black', 'price' => 100000],
'Mercedes' => ['model' => 'GLC', 'color' => 'White', 'price' => 80000],
'Audi' => ['model' => 'Q7', 'color' => 'Grey', 'price' => 90000],
]);
$cars->tap(function ($cars) {
dump($cars->keys());
});
}
app/Http/Controllers/CollectionController.phpMetode tap memberikan fleksibilitas untuk memanipulasi koleksi dan menjalankan suatu fungsi tambahan pada koleksi tersebut. Metode ini tidak membuat koleksi baru; sebaliknya, ia memodifikasi koleksi asli dan mengembalikan referensi ke koleksi tersebut. Fungsi callback yang diberikan menerima koleksi sebagai argumen.
times()
Metode times pada Laravel Collection digunakan untuk membuat koleksi baru dengan mengulang suatu nilai atau menjalankan fungsi callback sejumlah tertentu. Berikut ini merupakan contoh dari penggunaan metode times().
$collection = collect()->times(3);
// Hasilnya adalah koleksi baru dengan 3 elemen yang bernilai null
PHPFungsi utama dari method ini adalah membuat koleksi baru dengan mengulang suatu nilai atau menjalankan fungsi callback. Metode ini membutuhkan parameter yang harus diisi dengan nilai count (jumlah elemen dalam koleksi yang akan dibuat), callback (opsional, fungsi callback yang akan dijalankan pada setiap iterasi). Metode ini mengembalikan koleksi baru yang dibuat. Oke setelah kita memahami konsep dasar dari method times() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/times','times')->name('collects.times');
routes/web.phpKemudian pada collection controller kita akan menggunakan method times() seperti berikut:
public function times()
{
$numbers = collect([]);
$numbers->times(10, function ($number) {
dump($number);
});
}
app/Http/Controllers/CollectionController.phpMetode times memudahkan pembuatan koleksi baru dengan mengulang suatu nilai atau menjalankan fungsi callback. Jika Anda tidak menyertakan fungsi callback, koleksi baru akan berisi elemen-elemen yang bernilai null sebanyak count. Fungsi callback menerima argumen berupa nomor iterasi (dimulai dari 0) dan mengembalikan nilai untuk setiap iterasi.
toArray()
Metode toArray pada Laravel Collection digunakan untuk mengonversi koleksi menjadi array PHP biasa. Metode ini bermanfaat ketika Anda ingin bekerja dengan data dalam format array PHP standar. Berikut ini merupakan contoh dari penggunaan metode toArray().
$collection = collect(['a' => 1, 'b' => 2, 'c' => 3]);
$arrayRepresentation = $collection->toArray();
// Hasilnya adalah array PHP ['a' => 1, 'b' => 2, 'c' => 3]
PHPFungsi utama dari method ini adalah mengonversi koleksi menjadi array PHP. Oke setelah kita memahami konsep dasar dari method toArray() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/toArray','toArray')->name('collects.toArray');
routes/web.phpKemudian pada collection controller kita akan menggunakan method toArray() seperti berikut:
public function toArray()
{
$drinks = collect(['Coca-Cola', 'Pepsi', 'Fanta', 'Sprite', '7 Up']);
dump($drinks->toArray());
}
app/Http/Controllers/CollectionController.phpMetode toArray memudahkan penggunaan data koleksi dalam format array PHP standar. Metode ini tidak memodifikasi koleksi asli; sebaliknya, ia mengembalikan array PHP baru yang merepresentasikan isi koleksi. Jika koleksi Anda sudah dalam format array, metode ini tidak akan membuat array baru.
toJson()
Metode toJson pada Laravel Collection digunakan untuk mengonversi koleksi menjadi representasi JSON. Metode ini berguna ketika Anda perlu mengirimkan data koleksi sebagai respon HTTP atau menyimpannya dalam format JSON. Berikut ini merupakan contoh dari penggunaan metode toJson().
$collection = collect(['a' => 1, 'b' => 2, 'c' => 3]);
$jsonRepresentation = $collection->toJson();
// Hasilnya adalah string JSON '{"a":1,"b":2,"c":3}'
PHPFungsi utama dari method ini adalah mengonversi koleksi menjadi representasi JSON. Oke setelah kita memahami konsep dasar dari method toJson() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('toJson','toJson')->name('collects.toJson');f
routes/web.phpKemudian pada collection controller kita akan menggunakan method toJson() seperti berikut:
public function toJson()
{
$challenges = collect([
['name' => '30 Days of Vue', 'duration' => 30],
['name' => '30 Days of Laravel', 'duration' => 30],
['name' => '30 Days of JavaScript', 'duration' => 30],
['name' => '30 Days of PHP', 'duration' => 30],
]);
dump($challenges->toJson());
}
app/Http/Controllers/CollectionController.phpMetode toJson memudahkan penggunaan data koleksi dalam format JSON standar. Metode ini tidak memodifikasi koleksi asli. Sebaliknya, ia mengembalikan string JSON yang merepresentasikan isi koleksi.
transform()
Metode transform pada Laravel Collection digunakan untuk memodifikasi setiap elemen dalam koleksi dengan menggunakan fungsi callback yang diberikan. Metode ini memodifikasi koleksi asli dan tidak mengembalikan koleksi baru. Berikut ini merupakan contoh dari penggunaan metode transform().
$collection = collect([1, 2, 3]);
$collection->transform(function ($item, $key) {
return $item * 2;
});
// Koleksi asli sekarang menjadi [2, 4, 6]
PHPFungsi utama dari method ini adalah memodifikasi setiap elemen dalam koleksi dengan menggunakan fungsi callback. Metode ini membutuhkan parameter yang harus diisi dengan callback (fungsi callback yang akan dijalankan pada setiap elemen). Oke setelah kita memahami konsep dasar dari method transform() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/transform','transform')->name('collects.transform');
routes/web.phpKemudian pada collection controller kita akan menggunakan method transform() seperti berikut:
public function transform()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
$students->transform(function ($student, $key) {
$student['score'] = $student['score'] * 2;
return $student;
});
dump($students);
}
app/Http/Controllers/CollectionController.phpMetode transform memungkinkan Anda untuk memodifikasi setiap elemen dalam koleksi asli secara in-place. Fungsi callback menerima dua parameter: nilai elemen dan kunci elemen. Metode ini tidak mengembalikan koleksi baru; sebaliknya, ia memodifikasi koleksi asli.
undot()
Metode undot pada Laravel Collection digunakan untuk mengonversi koleksi yang telah ditenun (flattened) kembali menjadi bentuk aslinya, sesuai dengan struktur hierarki kunci yang dihasilkan oleh metode dot. Berikut ini merupakan contoh dari penggunaan metode undot().
$collection = collect([
'products.0.name' => 'Laptop',
'products.0.price' => 1200,
'products.1.name' => 'Smartphone',
'products.1.price' => 800,
]);
$originalCollection = $collection->undot();
/*
Hasilnya adalah koleksi asli:
collect([
'products' => [
['name' => 'Laptop', 'price' => 1200],
['name' => 'Smartphone', 'price' => 800],
]
])
*/
PHPFungsi utama dari method ini adalah mengembalikan koleksi yang telah ditenun ke bentuk aslinya. Metode ini mengembalikan koleksi baru yang merepresentasikan bentuk asli sebelum ditenun. Oke setelah kita memahami konsep dasar dari method undot() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/undot','undot')->name('collects.undot');
routes/web.phpKemudian pada collection controller kita akan menggunakan method undot() seperti berikut:
public function undot()
{
$students = collect([
'name' => 'Lisa Fournier',
'age' => 20,
'address' => [
'street' => 'Rue de Rivoli',
'city' => 'Paris',
'country' => 'France',
],
'scores' => [
'maths' => 80,
'physics' => 90,
'chemistry' => 100,
'english' => 80,
'geography' => 70,
],
'friends' => [
'John Doe',
'Jane Doe',
'Johnny Doe',
],
'school' => [
'name' => 'Lycée Louis-le-Grand',
'address' => 'Paris, France',
],
'is_active' => true,
]);
dump($students->dot());
dump($students->dot()->undot());
}
app/Http/Controllers/CollectionController.phpMetode undot berguna untuk mengembalikan struktur hierarki kunci asli setelah melakukan flatten dengan metode dot. Metode ini mengembalikan koleksi baru yang merepresentasikan struktur asli sebelum flatten.
union()
Metode union pada Laravel Collection digunakan untuk menggabungkan dua atau lebih koleksi menjadi satu koleksi tunggal tanpa menghapus elemen duplikat. Berikut ini merupakan contoh dari penggunaan metode union().
$collection1 = collect([1, 2, 3]);
$collection2 = collect([3, 4, 5]);
$unionCollection = $collection1->union($collection2);
// Hasilnya adalah koleksi baru [1, 2, 3, 4, 5]
PHPFungsi utama dari method ini adalah menggabungkan dua atau lebih koleksi menjadi satu koleksi tunggal tanpa menghapus elemen duplikat. Metode ini membutuhkan parameter yang harus diisi dengan nilai koleksi atau array lainnya yang ingin digabungkan. Metode ini mengembalikan koleksi baru yang berisi elemen-elemen dari koleksi-koleksi yang digabungkan. Oke setelah kita memahami konsep dasar dari method union() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/union','union')->name('collects.union');
routes/web.phpKemudian pada collection controller kita akan menggunakan method union() seperti berikut:
public function union()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
$vegetables = collect(['carrot', 'potato', 'tomato', 'onion', 'cucumber']);
dump($fruits->union($vegetables));
}
app/Http/Controllers/CollectionController.phpMetode union menggabungkan elemen-elemen dari koleksi-koleksi yang diberikan tanpa menghapus elemen duplikat. Metode ini tidak memodifikasi koleksi asli; sebaliknya, ia mengembalikan koleksi baru yang merupakan hasil penggabungan.
unique()
Metode unique pada Laravel Collection digunakan untuk mengembalikan koleksi yang hanya berisi elemen-elemen unik. Metode ini dapat menghapus elemen-elemen yang duplikat dari koleksi. Berikut ini merupakan contoh dari penggunaan metode unique().
$collection = collect([1, 2, 2, 3, 4, 4, 5]);
$uniqueCollection = $collection->unique();
// Hasilnya adalah koleksi baru [1, 2, 3, 4, 5]
PHPFungsi utama dari method ini adalah mengembalikan koleksi yang hanya berisi elemen-elemen unik. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (opsional): Nama kolom atau kunci yang digunakan untuk menentukan keunikan elemen. strict (opsional): Jika true, perbandingan akan menggunakan tipe data yang ketat. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen unik. Oke setelah kita memahami konsep dasar dari method unique() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/unique','unique')->name('collects.unique');
routes/web.phpKemudian pada collection controller kita akan menggunakan method unique() seperti berikut:
public function unique()
{
$scores = collect([80, 90, 100, 80, 100, 100, 100]);
dump($scores->unique());
}
app/Http/Controllers/CollectionController.phpMetode unique membantu menghasilkan koleksi yang hanya berisi elemen-elemen unik dengan menghapus elemen duplikat. Metode ini tidak memodifikasi koleksi asli; sebaliknya, ia mengembalikan koleksi baru yang berisi elemen-elemen unik.
unless()
Metode unless pada Laravel Collection digunakan untuk menjalankan tindakan tertentu pada koleksi hanya jika kondisi yang diberikan tidak terpenuhi. Jika kondisi tersebut terpenuhi, tindakan yang diberikan tidak dijalankan. Berikut ini merupakan contoh dari penggunaan metode unless().
$collection = collect([1, 2, 3]);
$collection->unless($collection->contains(4), function ($collection) {
$collection->push(4);
});
// Hasilnya adalah koleksi baru [1, 2, 3, 4]
PHPFungsi utama dari method ini adalah menjalankan tindakan tertentu pada koleksi hanya jika kondisi yang diberikan tidak terpenuhi. Metode ini membutuhkan parameter yang harus diisi dengan nilai condition (kondisi yang dievaluasi sebagai boolean), callback (tindakan yang dijalankan jika kondisi tidak terpenuhi). Oke setelah kita memahami konsep dasar dari method unless() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/unless','unless')->name('collects.unless');
routes/web.phpKemudian pada collection controller kita akan menggunakan method unless() seperti berikut:
public function unless()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
$students->unless(true, function ($students) {
return $students->where('score', '>=', 90);
});
}
app/Http/Controllers/CollectionController.phpMetode unless berguna ketika Anda ingin menjalankan tindakan pada koleksi hanya jika kondisi tertentu tidak terpenuhi. Metode ini dapat digunakan untuk kondisional berdasarkan hasil evaluasi kondisi.
value()
Metode value pada Laravel Collection digunakan untuk mengambil nilai tunggal dari koleksi. Metode ini berguna ketika kita ingin mengambil nilai dari satu elemen dalam koleksi. Berikut ini merupakan contoh dari penggunaan metode value().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$age = $collection->where('name', 'Jane')->value('age');
// Hasilnya adalah nilai 25
PHPFungsi utama dari method ini adalah mengambil nilai tunggal dari koleksi berdasarkan kriteria yang diberikan. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kriteria untuk menentukan elemen yang ingin diambil nilainya). Metode ini mengembalikan nilai dari elemen yang memenuhi kriteria. Oke setelah kita memahami konsep dasar dari method value() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/value','value')->name('collects.value');
routes/web.phpKemudian pada collection controller kita akan menggunakan method value() seperti berikut:
public function value()
{
$students = collect([
'name' => 'Lisa Fournier',
'age' => 20,
'address' => [
'street' => 'Rue de Rivoli',
'city' => 'Paris',
'country' => 'France',
],
'scores' => [
'maths' => 80,
'physics' => 90,
'chemistry' => 100,
'english' => 80,
'geography' => 70,
],
'friends' => [
'John Doe',
'Jane Doe',
'Johnny Doe',
],
'school' => [
'name' => 'Lycée Louis-le-Grand',
'address' => 'Paris, France',
],
'is_active' => true,
]);
dump($students->value('address.city'));
}
app/Http/Controllers/CollectionController.phpMetode value membantu dalam mengambil nilai spesifik dari suatu elemen dalam koleksi berdasarkan kriteria tertentu. Jika tidak ada elemen yang memenuhi kriteria, metode ini mengembalikan null. Jika ada lebih dari satu elemen yang memenuhi kriteria, metode ini mengembalikan nilai dari elemen pertama yang ditemukan.
values()
Metode values pada Laravel Collection digunakan untuk mengembalikan koleksi baru yang berisi nilai-nilai dari koleksi asli. Metode ini berguna untuk mengabaikan kunci (indeks) dalam koleksi dan hanya menyimpan nilai-nilai. Berikut ini merupakan contoh dari penggunaan metode values().
$collection = collect([
'name' => 'John',
'age' => 30,
'city' => 'New York',
]);
$valuesCollection = $collection->values();
// Hasilnya adalah koleksi baru [0 => 'John', 1 => 30, 2 => 'New York']
PHPFungsi utama dari method ini adalah mengembalikan koleksi baru yang berisi nilai-nilai dari koleksi asli tanpa mempertahankan kunci (indeks). Metode ini mengembalikan koleksi baru yang berisi nilai-nilai dari koleksi asli dengan indeks numerik. Oke setelah kita memahami konsep dasar dari method values() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/values','values')->name('collects.values');
routes/web.phpKemudian pada collection controller kita akan menggunakan method values() seperti berikut:
public function values()
{
$students = collect([
'name' => 'Lisa Fournier',
'age' => 20,
'address' => [
'street' => 'Rue de Rivoli',
'city' => 'Paris',
'country' => 'France',
],
'scores' => [
'maths' => 80,
'physics' => 90,
'chemistry' => 100,
'english' => 80,
'geography' => 70,
],
'friends' => [
'John Doe',
'Jane Doe',
'Johnny Doe',
],
'school' => [
'name' => 'Lycée Louis-le-Grand',
'address' => 'Paris, France',
],
'is_active' => true,
]);
dump($students->values());
}
app/Http/Controllers/CollectionController.phpMetode values berguna ketika kita ingin mengabaikan kunci (indeks) dan hanya menyimpan nilai-nilai dari koleksi. Metode ini tidak memodifikasi koleksi asli; sebaliknya, ia mengembalikan koleksi baru yang berisi nilai-nilai.
when()
Metode when pada Laravel Collection digunakan untuk menjalankan tindakan tertentu pada koleksi hanya jika kondisi yang diberikan terpenuhi. Jika kondisi tersebut tidak terpenuhi, tindakan yang diberikan tidak dijalankan. Berikut ini merupakan contoh dari penggunaan metode when().
$collection = collect([1, 2, 3]);
$result = $collection->when(count($collection) > 2, function ($collection) {
return $collection->push(4);
});
// Hasilnya adalah koleksi baru [1, 2, 3, 4]
PHPFungsi utama dari method ini adalah menjalankan tindakan tertentu pada koleksi hanya jika kondisi yang diberikan terpenuhi. Metode ini membutuhkan parameter yang harus diisi dengan nilai condition (kondisi yang dievaluasi sebagai boolean), callback (tindakan yang dijalankan jika kondisi terpenuhi). Metode ini mengembalikan koleksi yang mungkin telah dimodifikasi oleh tindakan. Oke setelah kita memahami konsep dasar dari method when() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/when','when')->name('collects.when');
routes/web.phpKemudian pada collection controller kita akan menggunakan method when() seperti berikut:
public function when()
{
$filtered = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => 90],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => 100],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => 100],
]);
$filtered->when(true, function ($filtered) {
return $filtered->where('score', '>=', 90);
});
}
app/Http/Controllers/CollectionController.phpMetode when berguna ketika Anda ingin menjalankan tindakan pada koleksi hanya jika kondisi tertentu terpenuhi. Metode ini dapat digunakan untuk kondisional berdasarkan hasil evaluasi kondisi.
whenEmpty()
Metode whenEmpty pada Laravel Collection digunakan untuk menjalankan tindakan tertentu pada koleksi hanya jika koleksi tersebut kosong (tidak memiliki elemen). Jika koleksi tidak kosong, tindakan yang diberikan tidak dijalankan. Berikut ini merupakan contoh dari penggunaan metode whenEmpty().
$collection = collect([]);
$result = $collection->whenEmpty(function ($collection) {
return $collection->push(1);
});
// Hasilnya adalah koleksi baru [1]
PHPFungsi utama dari method ini adalah menjalankan tindakan tertentu pada koleksi hanya jika koleksi tersebut kosong. Metode ini membutuhkan parameter yang harus diisi dengan nilai callback (tindakan yang dijalankan jika koleksi kosong). Metode ini mengembalikan koleksi yang mungkin telah dimodifikasi oleh tindakan. Oke setelah kita memahami konsep dasar dari method whenEmpty() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/when-empty','whenEmpty')->name('collects.when-empty');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whenEmpty() seperti berikut:
public function whenEmpty()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
$shops->whenEmpty(function ($shops) {
return $shops->where('price', '>=', 200);
});
}
app/Http/Controllers/CollectionController.phpMetode whenEmpty berguna ketika Anda ingin menjalankan tindakan spesifik pada koleksi hanya jika koleksi tersebut kosong. Metode ini tidak memodifikasi koleksi asli; sebaliknya, ia mengembalikan koleksi baru yang mungkin telah dimodifikasi oleh tindakan.
where()
Metode where pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi berdasarkan kriteria tertentu. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat yang ditentukan. Berikut ini merupakan contoh dari penggunaan metode where().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->where('age', '>', 30);
// Hasilnya adalah koleksi baru [['name' => 'Bob', 'age' => 35]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi berdasarkan kriteria tertentu. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kunci yang digunakan sebagai kriteria penyaringan), operator (operator perbandingan seperti ‘>’, ‘<‘, ‘=’, dsb.) dan value (nilai yang digunakan sebagai batasan). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Oke setelah kita memahami konsep dasar dari method where() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where','where')->name('collects.where');
routes/web.phpKemudian pada collection controller kita akan menggunakan method where() seperti berikut:
public function where()
{
$shops = collect([
['name' => 'Apple', 'price' => 150, 'category' => 'Fruit'],
['name' => 'Orange', 'price' => 100, 'category' => 'Fruit'],
['name' => 'Banana', 'price' => 80, 'category' => 'Fruit'],
['name' => 'Tomato', 'price' => 200, 'category' => 'Vegetable'],
['name' => 'Potato', 'price' => 150, 'category' => 'Vegetable'],
['name' => 'Carrot', 'price' => 120, 'category' => 'Vegetable'],
]);
dump($shops->where('price', '>=', 150));
}
app/Http/Controllers/CollectionController.phpMetode where membantu dalam menyaring elemen-elemen koleksi berdasarkan kriteria tertentu. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli.
whereBetween()
Metode whereBetween pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi yang memiliki nilai tertentu di antara dua nilai yang ditentukan. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Berikut ini merupakan contoh dari penggunaan metode whereBetween().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->whereBetween('age', [25, 30]);
// Hasilnya adalah koleksi baru [['name' => 'John', 'age' => 30], ['name' => 'Jane', 'age' => 25]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi berdasarkan rentang nilai tertentu. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kunci yang digunakan sebagai kriteria penyaringan) dan values (array berisi dua nilai yang menentukan rentang). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Oke setelah kita memahami konsep dasar dari method whereBetween() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where-between','whereBetween')->name('collects.where-between');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whereBetween() seperti berikut:
public function whereBetween()
{
$drinks = collect([
['name' => 'Coca-Cola', 'price' => 1.2],
['name' => 'Pepsi', 'price' => 1.3],
['name' => 'Fanta', 'price' => 1.4],
['name' => 'Sprite', 'price' => 1.5],
['name' => '7 Up', 'price' => 1.6],
]);
dump($drinks->whereBetween('price', [1.3, 1.5]));
}
app/Http/Controllers/CollectionController.phpMetode whereBetween membantu dalam menyaring elemen-elemen koleksi berdasarkan rentang nilai tertentu. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Rentang nilai yang diberikan termasuk kedua nilai batas.
whereIn()
Metode whereIn pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi yang memiliki nilai tertentu dalam suatu daftar (array) yang ditentukan. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Berikut ini merupakan contoh dari penggunaan metode whereIn().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->whereIn('age', [25, 30]);
// Hasilnya adalah koleksi baru [['name' => 'John', 'age' => 30], ['name' => 'Jane', 'age' => 25]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi berdasarkan nilai yang ada dalam suatu daftar (array). Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kunci yang digunakan sebagai kriteria penyaringan) dan values (array berisi nilai-nilai yang harus ada dalam elemen). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Oke setelah kita memahami konsep dasar dari method whereIn() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where-in','whereIn')->name('collects.where-in');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whereIn() seperti berikut:
public function whereIn()
{
$foods = collect([
['name' => 'Pizza', 'price' => 10],
['name' => 'Burger', 'price' => 5],
['name' => 'Pasta', 'price' => 12],
['name' => 'Salad', 'price' => 8],
]);
dump($foods->whereIn('price', [5, 8]));
}
app/Http/Controllers/CollectionController.phpMetode whereIn membantu dalam menyaring elemen-elemen koleksi berdasarkan nilai yang ada dalam suatu daftar. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Hanya elemen-elemen yang memiliki nilai yang sesuai dengan daftar yang diberikan yang akan disertakan dalam koleksi baru.
whereNotBetween()
Metode whereNotBetween pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi yang tidak memiliki nilai di antara dua nilai yang ditentukan. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang tidak memenuhi syarat. Berikut ini merupakan contoh dari penggunaan metode whereNotBetween().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->whereNotBetween('age', [25, 30]);
// Hasilnya adalah koleksi baru [['name' => 'Bob', 'age' => 35]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi yang tidak memiliki nilai di antara dua nilai yang ditentukan. Metode ini membutuhkan parameter yang harus diisi dengan key (kunci yang digunakan sebagai kriteria penyaringan) dan values (array berisi dua nilai yang menentukan rentang). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang tidak memenuhi syarat. Oke setelah kita memahami konsep dasar dari method whereNotBetween() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where-not-between','whereNotBetween')->name('collects.where-not-between');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whereNotBetween() seperti berikut:
public function whereNotBetween()
{
$drinks = collect([
['name' => 'Coca-Cola', 'price' => 1.2],
['name' => 'Pepsi', 'price' => 1.3],
['name' => 'Fanta', 'price' => 1.4],
['name' => 'Sprite', 'price' => 1.5],
['name' => '7 Up', 'price' => 1.6],
]);
dump($drinks->whereNotBetween('price', [1.3, 1.5]));
}
app/Http/Controllers/CollectionController.phpMetode whereNotBetween membantu dalam menyaring elemen-elemen koleksi yang tidak memiliki nilai di antara dua nilai yang ditentukan. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Hanya elemen-elemen yang tidak memiliki nilai di antara dua nilai yang ditentukan yang akan disertakan dalam koleksi baru.
whereNotIn()
Metode whereNotIn pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi yang tidak memiliki nilai tertentu dalam suatu daftar (array) yang ditentukan. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang tidak memenuhi syarat. Berikut ini merupakan contoh dari penggunaan metode whereNotIn().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->whereNotIn('age', [25, 30]);
// Hasilnya adalah koleksi baru [['name' => 'Bob', 'age' => 35]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi yang tidak memiliki nilai tertentu dalam suatu daftar (array). Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kunci yang digunakan sebagai kriteria penyaringan) dan values (array berisi nilai-nilai yang tidak boleh ada dalam elemen). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang tidak memenuhi syarat. Oke setelah kita memahami konsep dasar dari method whereNotIn() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where-not-in','whereNotIn')->name('collects.where-not-in');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whereNotIn() seperti berikut:
public function whereNotIn()
{
$cars = collect([
['brand' => 'BMW', 'model' => 'X5', 'color' => 'Black', 'price' => 100000],
['brand' => 'Mercedes', 'model' => 'GLC', 'color' => 'White', 'price' => 80000],
['brand' => 'Audi', 'model' => 'Q7', 'color' => 'Grey', 'price' => 90000],
]);
dump($cars->whereNotIn('price', [80000, 90000]));
}
app/Http/Controllers/CollectionController.phpMetode whereNotIn membantu dalam menyaring elemen-elemen koleksi yang tidak memiliki nilai tertentu dalam suatu daftar. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Hanya elemen-elemen yang tidak memiliki nilai tertentu yang ada dalam daftar yang diberikan yang akan disertakan dalam koleksi baru.
whereNotNull()
Metode whereNotNull pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi yang memiliki nilai tidak null untuk suatu kunci (key) tertentu. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Berikut ini merupakan contoh dari penggunaan metode whereNotNull().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => null],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->whereNotNull('age');
// Hasilnya adalah koleksi baru [['name' => 'John', 'age' => 30], ['name' => 'Bob', 'age' => 35]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi yang memiliki nilai tidak null untuk suatu kunci (key) tertentu. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kunci yang digunakan sebagai kriteria penyaringan). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Oke setelah kita memahami konsep dasar dari method whereNotNull() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where-not-null','whereNotNull')->name('collects.where-not-null');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whereNotNull() seperti berikut:
public function whereNotNull()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => null],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => null],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => null],
]);
dump($students->whereNotNull('score'));
}
app/Http/Controllers/CollectionController.phpMetode whereNotNull membantu dalam menyaring elemen-elemen koleksi yang memiliki nilai tidak null untuk suatu kunci (key) tertentu. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Hanya elemen-elemen yang memiliki nilai tidak null untuk kunci yang ditentukan yang akan disertakan dalam koleksi baru.
whereNull()
Metode whereNull pada Laravel Collection digunakan untuk menyaring elemen-elemen koleksi yang memiliki nilai null untuk suatu kunci (key) tertentu. Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Berikut ini merupakan contoh dari penggunaan metode whereNull().
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => null],
['name' => 'Bob', 'age' => 35],
]);
$filteredCollection = $collection->whereNull('age');
// Hasilnya adalah koleksi baru [['name' => 'Jane', 'age' => null]]
PHPFungsi utama dari method ini adalah menyaring elemen-elemen koleksi yang memiliki nilai null untuk suatu kunci (key) tertentu. Metode ini membutuhkan parameter yang harus diisi dengan nilai key (kunci yang digunakan sebagai kriteria penyaringan). Metode ini mengembalikan koleksi baru yang hanya berisi elemen-elemen yang memenuhi syarat. Oke setelah kita memahami konsep dasar dari method whereNull() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/where-null','whereNull')->name('collects.where-null');
routes/web.phpKemudian pada collection controller kita akan menggunakan method whereNull() seperti berikut:
public function whereNull()
{
$students = collect([
['name' => 'John Doe', 'score' => 80],
['name' => 'Jane Doe', 'score' => null],
['name' => 'Johnny Doe', 'score' => 80],
['name' => 'Alexia Doe', 'score' => null],
['name' => 'Léo Doe', 'score' => 85],
['name' => 'Emilia Doe', 'score' => null],
]);
dump($students->whereNull('score'));
}
app/Http/Controllers/CollectionController.phpMetode whereNull membantu dalam menyaring elemen-elemen koleksi yang memiliki nilai null untuk suatu kunci (key) tertentu. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Hanya elemen-elemen yang memiliki nilai null untuk kunci yang ditentukan yang akan disertakan dalam koleksi baru.
wrap()
Metode wrap pada Laravel Collection digunakan untuk membungkus nilai koleksi dalam bentuk koleksi lagi, terlepas dari tipe data asli koleksi. Ini berguna untuk memastikan bahwa nilai yang dioperasikan selalu berupa koleksi, bahkan jika itu bukan koleksi semula. Berikut ini merupakan contoh dari penggunaan metode wrap().
$value = 'Hello, World!';
$wrappedCollection = collect($value)->wrap();
// Hasilnya adalah koleksi baru yang berisi nilai 'Hello, World!'
PHPFungsi utama dari method ini adalah membungkus nilai koleksi dalam bentuk koleksi lagi. Metode ini mengembalikan koleksi baru yang berisi nilai koleksi awal, terlepas dari tipe data asli. Oke setelah kita memahami konsep dasar dari method wrap() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/wrap','wrap')->name('collects.wrap');
routes/web.phpKemudian pada collection controller kita akan menggunakan method wrap() seperti berikut:
public function wrap()
{
$students = collect([
'name' => 'Lisa Fournier',
'age' => 20,
'address' => [
'street' => 'Rue de Rivoli',
'city' => 'Paris',
'country' => 'France',
],
'scores' => [
'maths' => 80,
'physics' => 90,
'chemistry' => 100,
'english' => 80,
'geography' => 70,
],
'friends' => [
'John Doe',
'Jane Doe',
'Johnny Doe',
],
'school' => [
'name' => 'Lycée Louis-le-Grand',
'address' => 'Paris, France',
],
'is_active' => true,
]);
dump($students->wrap('students'));
}
app/Http/Controllers/CollectionController.phpMetode wrap membantu memastikan bahwa nilai yang dioperasikan selalu berupa koleksi, bahkan jika itu bukan koleksi semula. Dengan membungkus nilai dalam koleksi, pengguna dapat konsisten menggunakan metode koleksi pada nilai tersebut. Metode ini mengembalikan koleksi baru yang berisi nilai koleksi awal, terlepas dari tipe data aslinya. Jika nilai yang diberikan sudah merupakan koleksi, metode wrap tidak akan membuat koleksi baru dan akan mengembalikan koleksi yang sudah ada.
zip()
Metode zip pada Laravel Collection digunakan untuk menggabungkan elemen-elemen dari beberapa koleksi ke dalam koleksi tunggal, sehingga setiap elemen pada indeks tertentu dari koleksi menghasilkan pasangan nilai. Berikut ini merupakan contoh dari penggunaan metode zip().
$collection1 = collect(['apple', 'banana', 'cherry']);
$collection2 = collect([1, 2, 3]);
$zippedCollection = $collection1->zip($collection2);
// Hasilnya adalah koleksi baru [['apple', 1], ['banana', 2], ['cherry', 3]]
PHPFungsi utama dari method ini adalah menggabungkan elemen-elemen dari beberapa koleksi ke dalam koleksi tunggal. Metode ini membutuhkan parameter yang harus diisi dengan nilai koleksi atau array lain yang akan digabungkan. Metode ini mengembalikan koleksi baru yang berisi pasangan nilai dari koleksi-koleksi yang digabungkan. Oke setelah kita memahami konsep dasar dari method zip() mari kita praktekkan ke dalam projek kita. Sekarang kita buka file routes/web.php dan kita tambahkan kode berikut:
Route::get('/zip','zip')->name('collects.zip');
routes/web.phpKemudian pada collection controller kita akan menggunakan method zip() seperti berikut:
public function zip()
{
$fruits = collect(['apple', 'banana', 'orange', 'strawberry', 'raspberry']);
$vegetables = collect(['carrot', 'potato', 'tomato', 'onion', 'cucumber']);
dump($fruits->zip($vegetables));
}
app/Http/Controllers/CollectionController.phpMetode zip memungkinkan penggabungan nilai dari beberapa koleksi ke dalam koleksi tunggal. Setiap pasangan nilai dalam koleksi baru berasal dari indeks yang sama pada koleksi-koleksi yang digabungkan. Metode ini mengembalikan koleksi baru tanpa memodifikasi koleksi asli. Jika koleksi-koleksi yang digabungkan memiliki panjang yang berbeda, hasilnya akan sepanjang koleksi terpendek.
Perbedaan Collection dan Array
Array adalah struktur data dasar dalam PHP yang memungkinkan kita untuk menyimpan sejumlah nilai dalam satu variabel. Beberapa karakteristik array dalam PHP antara lain:
- Indeks array dimulai dari 0.
- Tipe data elemen array dapat bervariasi, bahkan dalam satu array.
- Manipulasi data memerlukan penggunaan fungsi array seperti count(), foreach(), dan array_map().
Laravel Collection adalah fitur yang lebih tinggi dan canggih dibandingkan dengan array biasa. Collection pada dasarnya adalah kelas PHP yang menyediakan sejumlah metode bantu (helper methods) untuk memanipulasi data dengan cara yang nyaman dan ekspresif. Beberapa perbedaan kunci antara collection dan array:
- Metode Bantu:
Collection menyediakan berbagai metode bantu seperti map(), filter(), reduce(), yang membuat manipulasi data lebih mudah dan mudah dibaca. - Fleksibilitas:
Collection memungkinkan operasi lanjutan dan kompleks pada data dengan lebih mudah dan ekspresif. - Rantai Metode:
Kita dapat menggabungkan beberapa metode bantu dalam satu rantai operasi, meningkatkan kejelasan dan keterbacaan kode.
Pemahaman perbedaan antara array dan collection dalam konteks pengembangan aplikasi Laravel sangat penting. Penggunaan yang tepat dari keduanya akan meningkatkan efisiensi pengembangan dan mempermudah pemeliharaan kode.