| 1234567891011121314151617181920212223242526272829303132 | <?phpnamespace 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);            });        }    }}
 |