/** * User must be the owner of lesson exercise belongs to. * * @param User $user * @param Exercise $exercise * @return bool */ public function modify(User $user, Exercise $exercise) : bool { return User::query()->join('lessons', 'lessons.owner_id', '=', 'users.id')->join('exercises', 'exercises.lesson_id', '=', 'lessons.id')->where('exercises.id', '=', $exercise->id)->where('users.id', '=', $user->id)->exists(); }