| 1234567891011121314151617181920212223242526272829303132 | 
							- <?php
 
- namespace App\Scopes;
 
- use App\Model\Employee;
 
- use App\Model\SalesOrderInfo;
 
- use Illuminate\Database\Eloquent\Builder;
 
- use Illuminate\Database\Eloquent\Model;
 
- use Illuminate\Database\Eloquent\Scope;
 
- class SalesOrderScope implements Scope
 
- {
 
-     public $user = [];
 
-     public function __construct($user = [])
 
-     {
 
-         $this->user = $user;
 
-     }
 
-     public function apply(Builder $builder, Model $model)
 
-     {
 
-         if($this->user['id'] != Employee::SPECIAL_ADMIN) {
 
-             $sales_order_id = SalesOrderInfo::where('del_time',0)
 
-                 ->where('employee_id',$this->user['id'])
 
-                 ->select('sales_order_id')
 
-                 ->get()->toArray();
 
-             $sales_order_id = array_unique(array_column($sales_order_id,'sales_order_id'));
 
-             $builder->orWhere(function ($query) use ($sales_order_id){
 
-                 $query->whereIn('id',$sales_order_id);
 
-             });
 
-         }
 
-     }
 
- }
 
 
  |