php - Laravel 5.4 User模型无法使用can()方法,说方法不存在
本文介绍了php - Laravel 5.4 User模型无法使用can()方法,说方法不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在PostController创建帖子:
public function store(PostRequest $request, Topic $topic)
{
// Get user id.
$user = Auth::user();
if ($user->can('create')) {
//
}
}
相关策略:
class PostPolicy extends Policy
{
public function before(User $user)
{
if ($user->status > 0) {
return true;
}
}
public function create(User $user)
{
return true;
}
}
报错:Call to undefined method Illuminate\Database\Query\Builder::can()
解决方案
在User类中需要添加Authorizable
Trait。
use Illuminate\Foundation\Auth\Access\Authorizable;
class User implements Authenticatable, CanResetPassword
{
use Authorizable;
...
这篇关于php - Laravel 5.4 User模型无法使用can()方法,说方法不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文