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.

3 min read

Published on 23 Sep, 2021 (updated: 01 Dec, 2022)

Written by Irsyad A. Panjaitan

Fill in LaravelTips and Tricks

ArticlesLaravel 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.

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 🙂

Irsyad A. Panjaitan

Let's start living like no one can help us in any event, so that when we are helped in certain times, it becomes a plus in itself.
2

Share on