並べ替えは、データベース クエリを実行する際の一般的な要件です。データを分類すると、データの意味の理解と分析が容易になります。 ThinkPHP5 の場合、order() メソッドを呼び出すことでクエリ結果を並べ替えることができます。
まず、order() メソッドの基本構文を理解する必要があります。 order() メソッドは次の形式を使用します。
->order('字段1 DESC,字段2 ASC')
このうち、DESC は降順、ASC は昇順を意味します。
例:
<code><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$data = Db::table(&#39;user&#39;)->where(&#39;age&#39;, &#39;>&#39;, 18)->order(&#39;age DESC,name ASC&#39;)->select();</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>
上記の例では、ユーザー データから 18 歳以上の年齢を選択しますテーブルのユーザー。年齢で降順、名前で昇順に並べ替えられます。
並べ替える必要があるフィールド名を単純に渡すこともできます:
$data = Db::table('user')->where('age', '>', 18)->order('age DESC')->select();
複数のフィールド間で渡したい場合は、カンマを使用して区切ります:
<code><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$data = Db::table(&#39;user&#39;)->where(&#39;age&#39;, &#39;>&#39;, 18)->order(&#39;age DESC,name ASC&#39;)->select();</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>
次のように結果をページ分割することもできます:
$data = Db::table('user')->where('age', '>', 18)->order('age DESC')->paginate(10);
上の例では、結果をページごとに 10 レコードに分割して、よりわかりやすくしています。正確 大規模なデータセットを適切に処理します。
以上がデータベースクエリのソートに ThinkPHP5 を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。