排序依据,默认整数值为 0


ORDER BY with default INTEGER value 0

我有一个数据类型为整数的字段。

我想按 asc 显示产品订单。

1,2,3,4

控制器.php

$products       = $this->product->getUntrashed('main_category', ucfirst($label), $limit, 'top', 'asc', $min, $max, $designers, $categories, $colors, $availability);
public function getUntrashed($column, $value, $limit = 9, $order, $sort, $min, $max, $designers, $categories, $colors, $availability)
{
return Product::where($column, $value)->whereNull('deleted_at')->where('price', '>=', $min)->where('price', '<=', $max)->where('visibility', '=', 1)->where('stock_count', '!=', 0)->where('status', '!=',0)->orderBy($order, $sort)->paginate($limit);
}

问题是:

默认值为 0 我无法使其正确排序。

帮助。

您专门要求降序。降序是从最高到最低。

将"desc"更改为"asc"。

我建议为此使用PHP,但如果你真的想在MySQL级别做到这一点,那么这里有一个示例

从测试 T1 中选择 *按数字排序 = 0,数字;

创建表test ( id int(11( 无符号 NOT NULL AUTO_INCREMENT, number int(11( 不为空, 主键 ( id (( 引擎=InnoDB 默认字符集=拉丁语1;

插入test ( idnumber (值 (1, 1), (2, 2), (3, 0), (4, 4), (5, 0(;