March 15, 2025 laravel
Cara Mengakses Model Binding di Laravel Form Request
Model Binding adalah cara otomatis untuk mendapatkan instance model berdasarkan parameter route. Instance model tersebut dapat langsung digunakan di controller.
Untuk menggunakannya di Form Request, cukup gunakan $this->{parameter-model-binding}
.
Contoh:
<?php
// routes/api.php
Route::patch('/orders/{order}', [OrderController::class, 'update']);
// app/Http/Requests/Order/UpdateOrderRequest.php
class UpdateOrderRequest extends FormRequest {
public function authorize() {
// akses model binding
return $this->order->user_id === $this->user()->id;
}
}
Cara lain, gunakan method route
dengan nama parameter model binding pada route. Method ini akan mengembalikan instance model tersebut.
Contoh:
<?php
// routes/api.php
Route::patch('/orders/{order}', [OrderController::class, 'update']);
// app/Http/Requests/Order/UpdateOrderRequest.php
class UpdateOrderRequest extends FormRequest {
public function authorize() {
// akses model binding
return $this->route('order')->user_id === $this->user()->id;
}
}