'integer', 'dict_id' => 'integer', 'is_default' => 'integer', 'rank' => 'integer', 'status' => 'integer']; public static function list(array $param) { $model = self::query(); if (isset($param['dict_id']) && $param['dict_id'] != '') { $model = $model->where('dict_id', $param['dict_id']); } if (isset($param['dict_label']) && $param['dict_label'] != '') { $model = $model->where('dict_label', 'like', "%{$param['dict_label']}%"); } if (isset($param['status']) && $param['status'] != '') { $model = $model->where('status', $param['status']); } return $model->orderByDesc("rank") ->orderByDesc("dict_id") ->select(["data_id", "dict_id", "dict_label", "dict_value", "is_default", "rank", "status", "remark", "create_time", "update_time"]) ->paginate((int)$param['limit']); } public static function options($param) { return (new self())->setTable("da") ->from("dict_data as da") ->join('dict as d', 'd.dict_id', '=', 'da.dict_id') ->where('d.dict_type', $param['key']) ->where('da.status', 1) ->select(["da.dict_value", "da.dict_label", "da.is_default"]) ->orderByDesc("da.rank") ->get() ->toArray(); } }