"desc"]; } else if (isset($param['order']) && $param['order'] == 'ascending'){ $orderBy = ["{$prefix}{$param['field']}" => "asc"]; } else { $orderBy = ["{$prefix}create_at" => "desc"]; } return $orderBy; } /** * @param array $param 参数 * @param array $filter 过滤器 * @param string $prefix 链表前缀 * @param string $join 链表表名 * @param string $field 字段 * @param string $forKey 链表首字母 * @param string $localKey 被链表首字母 */ protected function searchVal(array $param = [],array $filter = [],string $prefix = "",string $join = "",string $field = "",string $forKey = "",string $localKey = "") { $orderBy = $this->defaultSort($param,$prefix); $commonFilter = []; // 起止时间 if (!empty($param['create'])) { $times = between_time($param['create']); $start = date('Y-m-d',$times['start_time']); $end = date('Y-m-d',($times['end_time'] + 86400)); $commonFilter[] = ['create_at', '>=', $start ]; $commonFilter[] = ['create_at', '<', $end ]; } if (!empty($param['repay'])) { $times = between_time($param['repay']); $start = date('Y-m-d',$times['start_time']); $end = date('Y-m-d',($times['end_time'] + 86400)); $commonFilter[] = ['repay_time', '>=', $start ]; $commonFilter[] = ['repay_time', '<', $end ]; } $filter = array_merge($filter,$commonFilter); if (!empty($join)) { $this->mode = $this->mode->alias('a')->join("{$join} {$prefix}","a.{$forKey} = {$prefix}.{$localKey}")->field($field); } return $this->mode->order($orderBy)->where($filter); } }