Laravel策略返回假ID';它们是一样的
我已经创建了策略(RelationPolicy),并添加了方法视图:Laravel策略返回假ID';它们是一样的,laravel,Laravel,我已经创建了策略(RelationPolicy),并添加了方法视图: public function view(User $user, Relation $relation) { return $user->id === $relation->user_id; } 然后我尝试将其与controller helper一起使用: $relation = Relation::where('name', '=', $name)->first(); $
public function view(User $user, Relation $relation)
{
return $user->id === $relation->user_id;
}
然后我尝试将其与controller helper一起使用:
$relation = Relation::where('name', '=', $name)->first();
$this->authorize('view', $relation);
但它总是给我“假”
当我在策略中添加dd($user->id)
和dd($relation->user\u id)
时,我得到这些id:
dd($user->id)
:1
dd($relation->user\u id)
:“1”
如何解决这个问题?试试这个
public function view(User $user, Relation $relation)
{
return $user->id == $relation->user_id;
}
或
public function view(User $user, Relation $relation)
{
return $user->id === (int)$relation->user_id;
}