Go back
9 months ago

Sintaks Yang Lebih Pendek Dan Lebih Mudah Dibaca Di Laravel

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.

Pertama sekali, kita akan bahas tentang null safe operator.

// Common
is_null($object->relation) ? null : $object->relation->id;

// Short
optional($object->relation)->id

Pastinya jika Anda menggunakan PHP 7, Anda bisa menggunakan hal ini.

// php 7
$object->relation->id ?? null

Dan jika Anda menggunakan PHP 8, bisa seperti ini.

$object?->relation?->id;

Next, kita akan bahas tentang mengambil single data dari database.

// common
User::first()->name;

//short
User::value('name');

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']);

Pernah gak berfikir ingin menampilkan data dari yang pertama kali dibuat.

// Common
User::orderBy('created_at', 'asc')->get();

// Short
User::oldest()->get();

Lagi-lagi masih tentang menampilkan data, lebih tepatnya dengan spesipik column

// Common
User::orderBy('age', 'desc')->get();

// Short
User::latest('age')->get();

where statement. Simple but sure.

// Common
User::where('email', '=', '[email protected]')->first();

// Short
User::whereEmail('[email protected]')->first();

Dan kali ini tentang Carbon, lebih mudah jika tidak menggunakan class.

// Common
Carbon\Carbon::now();
Carbon\Carbon::today();

// Short
now();
today();

Bagaimana dengan request, kareana ini sering sekali kita gunakan untuk membuat conditional.

// Common
$request->has('value') ? $request->value : 'default';

//Short
$request->get('value', 'default');

Kali ini tentang session, mungkin tidak sering Anda gunakan, tapi saya lumayan sering, jadi sangat membantu juga.

Put:

// Common
Session::put('key', $value);

//Short
session(['key' => $value]);

Get:

Session::get('cart'); // Common
$request->session()->get('cart'); // Or

session('cart'); // Short

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');

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 🙂