0

データ型が INTEGER のフィールドが 1 つあります。

商品を昇順で表示したい。

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では、正しくソートできません。

ヘルプ。

4

2 に答える 2

0

あなたは特に降順を求めています。降順は最高から最低です。

「desc」を「asc」に変更します。

于 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;

INTO test( id, number) 値 (1, 1), (2, 2), (3, 0), (4, 4), (5, 0);

于 2016-04-30T17:57:54.753 に答える