Laravel Shorthand
Dalam post kali ini, kita akan membahas short syntax yang ada di Laravel yang Anda sendiri sering gunakan teknik yang berulang - ulang yang padahal bisa dibuat lebih simple.
Share
Dalam post kali ini, kita akan membahas short syntax yang ada di Laravel yang Anda sendiri sering gunakan teknik yang berulang - ulang yang padahal bisa dibuat lebih simple.
Nullsafe
Pertama sekali, kita akan bahas tentang null safe operator
.
// Common is_null($object->relation) ? null : $object->relation->id; // Short optional($object->relation)->id
phpCopy
Pastinya jika Anda menggunakan PHP 7, Anda bisa menggunakan hal ini.
// php 7 $object->relation->id ?? null
phpCopy
Dan jika Anda menggunakan PHP 8, bisa seperti ini.
$object?->relation?->id;
phpCopy
Next, kita akan bahas tentang mengambil single data dari database.
// common User::first()->name; //short User::value('name');
phpCopy
Saat kita ingin menampilkan data, seiyanya kita harus menampilkan yang penting-penting saja, karena tidak baik menampilkan data yang tidak penting, dan itu juga mempengaruhi kinerja aplikasi.
// Common User::select('name', 'email')->get(); // Short User::get(['name', 'email']);
phpCopy
Ordering
Pernah gak berfikir ingin menampilkan data dari yang pertama kali dibuat.
// Common User::orderBy('created_at', 'asc')->get(); // Short User::oldest()->get();
phpCopy
Random Order
Mungkin Anda ingin menampilkan satu data secara acak. Seperti contoh, jika Anda perhatikan halaman beranda pada Parsinta, itu testimonial yang terpilih kan secara acak. Berikut adalah shorthand nya.
// common User::get()->random(1)->first(); // short User::inRandomOrder()->first();
phpCopy
Where
Lagi-lagi masih tentang menampilkan data, lebih tepatnya dengan spesipik column
// Common User::orderBy('age', 'desc')->get(); // Short User::latest('age')->get();
phpCopy
where
statement. Simple but sure.
// Common User::where('email', '=', '[email protected]')->first(); // Short User::whereEmail('[email protected]')->first();
phpCopy
Carbon
Dan kali ini tentang Carbon
, lebih mudah jika tidak menggunakan class
.
// Common Carbon\Carbon::now(); Carbon\Carbon::today(); // Short now(); today();
phpCopy
Bagaimana dengan request
, kareana ini sering sekali kita gunakan untuk membuat conditional
.
// Common $request->has('value') ? $request->value : 'default'; //Short $request->get('value', 'default');
phpCopy
Session
Kali ini tentang session
, mungkin tidak sering Anda gunakan, tapi saya lumayan sering, jadi sangat membantu juga.
Put
Yang biasa kita lakukan untuk start session nya.
// Common Session::put('key', $value); //Short session(['key' => $value]);
phpCopy
Get
Menampilkan session yang telah di tetapkan.
Session::get('cart'); // Common $request->session()->get('cart'); // Or session('cart'); // Short
phpCopy
Where Has
Kali ini ada hubungannya dengan Laravel terbaru yaitu versi 8.57.0, sekarang Anda bisa langsung menggunakan whereRelation
dari model nya.
$user = User::find(5); // Common Post::whereHas('user', fn ($query) => $query->where('id', $user->id))->get()->pluck('title'); // Short Post::whereRelation('user', 'id', $user->id)->get()->pluck('title');
phpCopy
Report
Ketika laravel v9.42
, ada penambahan fungsi baru yaitu report_if
dan report_unless
.
// Common if(! Auth::user()->isAdmin()){ report('Is route need permission user'); } // Shorten/avoid `if` with: report_if( Auth::user()->isAdmin(), 'Is route need permission admin' ); // or report_unless( Auth::user()->isAdmin(), 'Is route need permission user' );
phpCopy
Itu saja untuk tips and trik kali ini. Semoaga bermanfaat. Share jika kalian suka. Bookmark jika kalian tidak sempat membaca. Saya Irsyad. See you next time 🙂