permissions()
- это метод экземпляра, а не метод класса. Поэтому вы должны вызывать его для экземпляра этого класса.
Внутри getPermissions()
метода, изменить:
$per = permissions()->select($permissions)->where('permissions.id', $role_id)->first();
на
$per = $this->permissions()->select($permissions)->where('permissions.id', $role_id)->first();
permissions()
cannне будет статичным, поскольку он вызывает другой метод экземпляра ($this->belongsToMany()
)
Edit
Мое плохое, я не видел, чтобы getPermissions
был статическим.
Вы должны удалить ключевое слово static
из getPermissions()
. Во всяком случае, там происходит много смешивания. Вы используете статические методы для доступа к методам экземпляра, и это неправильно.