Laravel雄辩模型,向-> get()函数添加查询

时间:2019-01-09 15:12:47

标签: laravel eloquent

我想覆盖我的客户模型中的get函数。

 public function get(array $options = [])
 {
   $user = \Auth::user();

   if($user->role_id == 1){
     return parent::get();

   }else if($user->role_id == 4){
     return parent::where("user_id", $user->id)->get();

   }else if($user->role_id == 3){
     $users = User::where("user_id", $user->id)->get();

     return parent::where("user_id", $user->id)->orWhereIn('user_id', $users)->get();
   }
  }

这可能吗?

1 个答案:

答案 0 :(得分:1)

您需要的是storageBucket

  

全局作用域使您可以为给定的所有查询添加约束   模型。 Laravel自己的软删除功能利用了全局范围   只从数据库中提取“未删除”模型。自己写   全局范围可以提供一种方便,轻松的方式来确保每个   给定模型的查询受到某些约束。

https://laravel.com/docs/5.7/eloquent#query-scopes