0

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

我想按 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 我不能让它正确排序。

帮助。

4

2 回答 2

0

您特别要求降序。降序是从高到低。

将“降序”更改为“升序”。

于 2016-04-30T10:05:21.003 回答
0

我会推荐为此使用 PHP,但如果您真的想在 MySQL 级别执行此操作,那么这里有一个示例

select * from test t1 order by number = 0, number;

CREATE TABLE test( idint(11) unsigned NOT NULL AUTO_INCREMENT, numberint(11) NOT NULL, PRIMARY KEY ( id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

于 2016-04-30T17:57:54.753 回答