首頁 > php框架 > ThinkPHP > thinkphp3.2中order方法怎麼用

thinkphp3.2中order方法怎麼用

WBOY
發布: 2022-04-07 16:01:10
原創
2795 人瀏覽過

thinkphp3.2中order方法用於對操作的結果進行排序,是模型連貫操作方法之一,相當於是select語句中的一個order by子句,用法為「$Model->where ()->order()->limit()->select()」。

thinkphp3.2中order方法怎麼用

本文操作環境:Windows10系統、ThinkPHP3.2版、Dell G3電腦。

thinkphp3.2中order方法怎麼用

order方法屬於模型的連貫操作方法之一,用來對操作的結果排序。

用法如下:

$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() 排序的兩種解決方法!

使用ThinkPHP,卻發現無法使用->order($order)來排序。

$order = " info.date2 desc ";

很遺憾的是這樣寫結果order卻變成了 order by date2 limit ... desc不見了。

解決一:

$order 裡面兩邊不能有任何空格,$order = "info.date2 desc";(正確)。 $order = " info.date2 desc";(錯誤!)

解決方法二:

開啟檔案:D:\WebSite\Zbphp.com\www\ThinkPHP\Extend\Model\ ViewModel.class.php

修改第136行,改成$array = explode(' ', trim($order));加上trim 儲存即可,如圖所示:

thinkphp3.2中order方法怎麼用

#推薦學習:《PHP影片教學

#

以上是thinkphp3.2中order方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板