with(['goods']) ->where($this->getFilter($param)) ->order(['status'=>'asc','id'=>'desc']) ->paginate(); } /** * 获取查询条件 * @param array $param * @return array */ private function getFilter(array $param = []) { // 默认查询参数 $params = $this->setQueryDefaultValue($param, [ 'number' => '', 'betweenTime' => [], // 起止时间 'userId' => 0, 'status' => -1, ]); // 检索查询条件 $filter = []; //扣减单号 if(isset($params['number']) && !empty($params['number'])){ $filter[] = ['number', 'like', "%{$params['number']}%"]; } //申请时间 if (!empty($params['betweenTime'])) { $times = between_time_format($params['betweenTime']); $filter[] = ['create_time', '>=', $times['start_time']]; $filter[] = ['create_time', '<', $times['end_time']]; } //会员ID if(isset($params['userId']) && $params['userId']>0){ $filter[] = ['user_id', '=', $params['userId']]; } //是否暂停 0否 1是 if(isset($params['status']) && $params['status']>-1){ $filter[] = ['status', '=', $params['status']]; } return $filter; } /** * 更新记录 * @param array $data * @return bool|int */ public function edit(array $data) { return $this->save($data) !== false; } /** * 删除记录 * @param array $data * @return bool|int */ public function remove() { return $this->delete(); } //获取会员价商品的ID集合 public function goodIds(){ return self::column('goods_id'); } }