Не работает Policy в Laravel

У меня в базе данных есть пользователи и клетки. У пользователей есть много клеток. Но т.к. у меня реализована система ролей(роль работника и администратора), то работнику нельзя получать все клетки, а только те, за которыми он закреплён. Я написал такую Policy:

public function viewAny(User $user)
{
    return false;
}

/**
 * Determine whether the user can view the model.
 *
 * @param  \App\Models\User  $user
 * @param  \App\Models\Cell  $cell
 * @return mixed
 */
public function view(User $user, Cell $cell)
{
    return $user->id == $cell->user_id;
} // view.

Но авторизованный работник всё также может получить доступ ко всем клеткам в БД, политика почему-то не работает. Вот на всякий случай код из routes/api.php

Route::middleware('auth:api')->group(function (){
// Маршрутизация для админа.
Route::middleware('role:admin')->group(function (){
    Route::apiResource('users', UsersController::class);
}); // group.

// Маршрутизация для работников.
Route::middleware('role:employee')->group(function (){
    Route::apiResource('cells', CellsController::class);
}); // group

// Общая маршрутизация для авторизованых пользователей.
Route::get('current_user', [CurrentUserController::class, 'getUser']);
Route::get('current_user/role', [CurrentUserController::class, 'getRole']);
Route::get('current_user/cells', [CurrentUserController::class, 'getCells']);}); // group.

Я пишу REST API и авторизация у меня идёт по полю api_token у user


Ответы (0 шт):