我有一个数据类型为INTEGER的字段。
我想通过asc显示产品订单。
1,2,3,4
Controller.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我无法正确排序。
帮助。
答案 0 :(得分:0)
您特别要求降序。降序是从最高到最低。
将'desc'更改为'asc'。
答案 1 :(得分:0)
我会建议使用PHP,但是如果你真的想在MySQL级别这样做,那么这里是一个样本
从测试t1中选择* 按数字排序= 0,数字;
CREATE TABLE test
(
id
int(11)unsigned NOT NULL AUTO_INCREMENT,
number
int(11)NOT NULL,
主要关键(id
)
)ENGINE = InnoDB DEFAULT CHARSET = latin1;
INSERT INTO test
(id
,number
)
VALUES
(1,1),
(2,2),
(3,0),
(4,4),
(5,0);