使用用户角色约束处理范围 - Laravel 5.3

时间:2016-11-17 05:18:22

标签: laravel

如果你试着查看角色名称,它看起来并不好看。我知道这不是处理这种情况的最佳方法。有没有更好的方法呢?

 public function scopeWishlist( $query ){

     if( Auth::User()->role->name == "admin" || Auth::User()->role->name == "staff"){

        return $query->where('transaction_type', '=', 1);
    }


}

1 个答案:

答案 0 :(得分:1)

这是一个更清晰的代码

public function scopeWishlist($query, $role)
{
  $roles = ['admin', 'staff'];

  return (in_array($role, $roles)) ? $query->where('transaction_type', 1) : $query;
}

然后你可以做类似

的事情
Model::where('blahblah', 'blahblah')->wishlist(auth()->user()->role->name)->get();

希望有所帮助:)