ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp3.2でorderメソッドを使用する方法

thinkphp3.2でorderメソッドを使用する方法

WBOY
WBOYオリジナル
2022-04-07 16:00:012652ブラウズ

thinkphp3.2 の order メソッドは、操作の結果を並べ替えるために使用されます。これは、モデルの一貫した操作メソッドの 1 つです。select ステートメントの order by 句に相当します。は「$Model->where ()->order()->limit()->select()」です。

thinkphp3.2でorderメソッドを使用する方法

この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 3.2、Dell G3 コンピューター。

thinkphp3.2 での order メソッドの使用方法

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 を追加します。

推奨学習: 「thinkphp3.2でorderメソッドを使用する方法PHP ビデオ チュートリアル

以上がthinkphp3.2でorderメソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。