Route model binding in Laravel is great, but there are cases where we can't just allow users to easily access resources by ID. We might need to verify their ownership of a resource.
You can declare a resolveRouteBinding method in your Model and add your custom logic there.
public function resolveRouteBinding($value, $field = null){ $user = request()->user(); return $this->where([ ['user_id' => $user->id], ['id' => $value] ])->firstOrFail();}
Tip given by @notdylanv