1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- namespace 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);
- });
- });
- }
- }
- }
|