Я использую в своем проекте composer пакет для laravel spatie / laravel -permission . Как проверить роль пользователя для содержимого внутренней модели с помощью метода hasRole()
?
Пример
Это не работает внутри модели
<?php
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Spatie\Permission\Traits\HasRoles;
use Illuminate\Database\Eloquent\SoftDeletes;
class User extends Authenticatable
{
use Notifiable, HasRoles, SoftDeletes;
public function orders()
{
if($this->hasRole("client")) {
//
}
}
}
Когда я попробовал этот случай вне модели, все работало:
$user = User::find(4);
if($user->hasRole("client")) {
//
}