when(isset($params['id']) && $params['id'] !== '',function($query) use ($params){ $query->where('id', (int)$params['id']); }) ->when(isset($params['staff_uid']) && $params['staff_uid'] !== '',function($query) use ($params){ $query->where('staff_uid', (int)$params['staff_uid']); }) ->when(isset($params['store_uid']) && $params['store_uid'] !== '',function($query) use ($params){ $query->where('store_uid', (int)$params['store_uid']); }) ->when(isset($params['store_uid']) && $params['store_uid'] !== '',function($query) use ($params){ $query->where('store_uid', (int)$params['store_uid']); }) ->when(isset($params['area_store_uid']) && $params['area_store_uid'] !== '',function($query) use ($params){ $query->where('area_store_uid', (int)$params['area_store_uid']); }) ->when(isset($params['delivery_uid']) && $params['delivery_uid'] !== '',function($query) use ($params){ $query->where('delivery_uid', (int)$params['delivery_uid']); }) ->when(isset($params['province_uid']) && $params['province_uid'] !== '',function($query) use ($params){ $query->where('province_uid', (int)$params['province_uid']); }) ->when(isset($params['initiator_uid']) && $params['initiator_uid'] !== '',function($query) use ($params){ $query->where('initiator_uid', (int)$params['initiator_uid']); }) ->when(isset($params['field_staff_uid']) && $params['field_staff_uid'] !== '',function($query) use ($params){ $query->where('field_staff_uid', (int)$params['field_staff_uid']); }) ->with([ 'userOrder' => function($query){ $query->field('order_id,order_sn,create_time,title'); }, 'storeOrder' => function($query){ $query->field('order_id,order_sn,create_time'); }, 'staff' => function($query){ $query->field('uid,nickname,avatar'); }, 'store' => function($query){ $query->field('uid,nickname,avatar'); }, 'area' => function($query){ $query->field('uid,nickname,avatar'); }, 'areaStore' => function($query){ $query->field('uid,nickname,avatar'); }, 'delivery' => function($query){ $query->field('uid,nickname,avatar'); }, 'province' => function($query){ $query->field('uid,nickname,avatar'); }, 'initiator' => function($query){ $query->field('uid,nickname,avatar'); }, 'fieldStaff' => function($query){ $query->field('uid,nickname,avatar'); }, ]) ->order('create_time DESC,id DESC'); } }