Site icon arthanugraha.com

Memilih Routing yang Akan Dipakai pada Route Resource Laravel

Dengan menggunakan Route::resource kita bisa dengan mudah mendapatkan semua end point yang mungkin saja diperlukan pada aplikasi yang kita buat. Untuk menggunakannya bisa dilihat pada catatan sebelumnya.

Namun bagaimana jika kita tidak menggunakan semua end point tersebut?

Ternyata kita bisa membatasi end point yang kita gunakan dengan masih menggunakan Route::resource. Caranya adalah dengan menambahkan satu parameter dengan keyword only

Route::resource('[prefik pada end point]','[nama controller]',['only' => ['end point yang dipilih']]);

Misalnya kita hanya ingin menggunakan action index dan show saja, maka kita bisa menuliskan kode berikut

Route::resource('buyers','Buyer\BuyerController',['only' => ['index','show']]);

maka hanya dua controller itu saja yang akan ada pada daftar route

Lalu bagaimana jika kita ingin sebaliknya, yaitu kita malah tidak ingin menampilkan sebagian route saja. Kita tahu jika tanpa menggunakan filtering seperti ini maka kita akan mendapatkan tujuh end point yaitu index, store, create, show, update, destroy, dan edit. Jika kita ingin tidak menampilkan action yang tidak kita inginkan caranya adalah dengan menggunakan keyword except

Route::resource('[prefik pada end point]',['except' => ['nama action yang tidak ingin ditampilkan']]);

Misalnya kita tidak ingin menampilkan route dari action create dan edit, kita bisa menuliskan kode berikut

Route::resource('categories','Category\CategoryController',['except' => ['create','edit']]);

Maka dari perintah php artisan route:list, kita bisa melihat bahawa end point untuk create dan edit sudah tidak ada dalam daftar route

Exit mobile version