ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP での order() の使用方法

ThinkPHP での order() の使用方法

不言
不言オリジナル
2018-06-08 17:11:407694ブラウズ

この記事では、主に ThinkPHP での order() の使用法を紹介します。これには、必要な友人が参照できるように共有します。

この記事では、order() を紹介します。 ThinkPHP のメソッドの使用法。 order メソッドを使用して、データベース操作の結果を並べ替えることができます。これは、select ステートメントの order by 句に相当します。

この記事では、ThinkPHP の order() メソッドの使用法を紹介します。 order メソッドを使用して、データベース操作の結果を並べ替えることができます。これは、select ステートメントの order by 句に相当します。

順序メソッドはモデルの一貫した操作メソッドの 1 つであり、データベース操作の結果を並べ替えるために使用されます。これは、select ステートメントの order by 句に相当します。

使用法

$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 を追加して保存します。図に示すように:

2 番目の方法を使用することをお勧めしますが、ユーザーがカーネル コードを自分で変更できないように、thinkphp 公式 Web サイトがこの小さな問題を修正できることを願っています。

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

ThinkPHP でのInitialize() とコンストラクターconstruct() の使用分析

PHP move_uploaded_file( ) 関数##################

以上がThinkPHP での order() の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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