ホームページ > 記事 > PHPフレームワーク > thinkphp3.2でorderメソッドを使用する方法
thinkphp3.2 の order メソッドは、操作の結果を並べ替えるために使用されます。これは、モデルの一貫した操作メソッドの 1 つです。select ステートメントの order by 句に相当します。は「$Model->where ()->order()->limit()->select()」です。
この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 3.2、Dell G3 コンピューター。
order メソッドは、モデルのコヒーレント演算メソッドの 1 つであり、演算結果を並べ替えるために使用されます。
使用方法は次のとおりです:
$Model->where('status=1')->order('id desc')->limit(5)->select();
注: 連続操作メソッドには順序はありません。select メソッドを呼び出す前に、呼び出し順序を任意に変更できます。
複数フィールドの並べ替えをサポートします。例:
$Model->where('status=1')->order('id desc,status')->limit(5)->select();
desc または asc 並べ替えルールが指定されていない場合、デフォルトは asc です。
フィールドが mysql キーワードと競合する場合は、配列モードで呼び出すことをお勧めします。例:
$Model->where('status=1')->order(array('order','id'=>'desc'))->limit(5)->select();
追加:
Thinkphpは使用できません ->order() 並べ替えのための 2 つの解決策!
ThinkPHP を使用していると、->order($order) を使用して並べ替えることができないことがわかりました。
$order = " info.date2 desc ";
残念ながら、このように order を書いた結果は、order by date2 制限になります... desc がありません。
解決策 1:
$order, $order = "info.date2 desc"; (正解) の両側にスペースを含めることはできません。 $order = " info.date2 desc"; (エラー!)
解決策 2:
ファイルを開きます: D:\WebSite\Zbphp.com\www\ThinkPHP\Extend\Model\ ViewModel.class.php
図に示すように、136 行目を $array =explode(' ',rim($order)); に変更して、trim と save を追加します。
推奨学習: 「PHP ビデオ チュートリアル
」以上がthinkphp3.2でorderメソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。