Laravel Вызов неопределенного метода, когда я пытаюсь получить доступ к функции в классе

DolDurma спросил: 27 ноября 2017 в 05:56 в: laravel

после реализации ACL на laravel я хочу использовать sync для добавления некоторых разрешений пользователю, когда я пытаюсь использовать этот код:

Route::get('/setPermission', function () {
    //auth()->loginUsingId(1);    return \App\Role::whereName('admin')->permissions()->sync(
        [
            1, 2
        ]
    );
});

Я получаю эту ошибку:

"Call to undefined method Illuminate\Database\Query\Builder::permissions()"

мой Role класс:

class Role extends Model{
    protected $fillable = ['name','label'];    public function users(){
        return $this->belongsToMany(User::class);
    }    public function permissions(){
        return $this->belongsToMany(Permission::class);
    }
}

Permission class:

class Permission extends Model{
    protected $fillable = ['name','label'];    public function roles()
    {
        return $this->belongsToMany(Role::class);
    }
}

результат получения Roles пользователя:

[{"id":2,"name":"admin","label":"\u0645\u062f\u06cc\u0631 \u06a9\u0644 \u0633\u0627\u06cc\u062a \u0648 \u0633\u06cc\u0633\u062a\u0645","created_at":"2017-12-21 07:44:09","updated_at":"2017-12-21 07:44:09"}]

0 ответов