2016-04-30 10 views
0

データ型INTEGERのフィールドが1つあります。ORDER BYデフォルトINTEGER値0

私は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で

私は正しく並べ替えそれを作るカント。

help。

答えて

0

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

'desc'を 'asc'に変更します。

+0

正しい昇順です。 0は1に先行する数字です.0を表示したくないですか? – Josh

+0

のコースはありません。私は1,2,3,4 –

+1

のようにそれが欲しい "もちろんではない"?これは自明のことではありません。あなたはあなたが求めているものをはるかに明確にする必要があります。あなたが指定していないユースケースについては想定しません。 ' - > where($ order、 '<>'、0)'を条件チェーンに追加します。 – Josh

0

私はこのためにPHPを使用することをお勧めしますが、あなたは本当にそれから、ここでのMySQLのレベルでそれをしたい場合はサンプルです

は数= 0、数によってテストさt1 順から選択*;

test( AUTO_INCREMENT、 number INT(11)NOT NULL、 PRIMARY KEY(id) 符号なしid INT(11)NULL NOT)ENGINE =のInnoDB DEFAULT CHARSET = LATIN1を作成します。 testidnumber) VALUES(1、1)、 (2,2)、 (3、0)、 (4,4)、 INTO

INSERT(5、0);