ORDER BY,默认INTEGER值为0

时间:2016-04-30 09:59:38

标签: php laravel integer sql-order-by laravel-4.2

我有一个数据类型为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我无法正确排序。

帮助。

2 个答案:

答案 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 testidnumber) VALUES     (1,1),     (2,2),     (3,0),     (4,4),     (5,0);