'integer'{% set first = false %}{% endif %}{% endfor %}]; public static function list(array $param) { $model = self::query(); {% for field in query_fields %} {% if field.query_type == 'eq' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', $param['{{ field.column_name }}']); } {% elseif field.query_type == 'neq' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', "<>", $param['{{ field.column_name }}']); } {% elseif field.query_type == 'gt' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', ">", $param['{{ field.column_name }}']); } {% elseif field.query_type == 'lt' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', "<", $param['{{ field.column_name }}']); } {% elseif field.query_type == 'gte' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', ">=", $param['{{ field.column_name }}']); } {% elseif field.query_type == 'lte' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', "<=", $param['{{ field.column_name }}']); } {% elseif field.query_type == 'like' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', "like", "%{$param['{{ field.column_name }}']}%"); } {% elseif field.query_type == 'between' %} if (isset($param['{{ field.column_name }}']) && $param['{{ field.column_name }}'] != '') { $model = $model->where('{{field.column_name}}', "between", $param['{{ field.column_name }}']); } {% endif %} {% endfor %} return $model->orderByDesc("{{ table_name }}_id") ->select([{% for field in list_fields %}"{{ field.column_name }}"{% if not loop.last %}, {% endif %}{% endfor %}]) ->paginate((int)$param['limit']); } public static function options() { return self::select(["{{ table_name }}_id", "{{ table_name }}_name"])->get()->toArray(); } }