| 1234567891011121314151617181920212223242526272829303132333435363738 | <?phpnamespace App\Scopes;use App\Model\Employee;use App\Model\SalesOrder;use App\Model\SalesOrderInfo;use App\Service\SalesOrderService;use Illuminate\Database\Eloquent\Builder;use Illuminate\Database\Eloquent\Model;use Illuminate\Database\Eloquent\Scope;class SalesOrderScope implements Scope{    public $user = [];    public $search = [];    public function __construct($user = [],$search = [])    {        $this->user = $user;        $this->search = $search;    }    public function apply(Builder $builder, Model $model)    {        if($this->user['id'] != Employee::SPECIAL_ADMIN) {            $depart_id = $this->user['depart_range'];            $user_id = $this->user['id'];            $data = $this->search;            $builder->orwhere(function ($query) use ($depart_id,$user_id,$data){                $query->where(function ($query_sub) use ($depart_id,$user_id){                    $query_sub->whereIn('depart_id', $depart_id)                        ->orWhereIn('top_depart_id',$depart_id)                        ->orWhere('crt_id', $user_id);                });            });        }    }}
 |