ThinkPHP 3.1快速入門:命名範圍

來源:互聯網
上載者:User
關鍵字 快速入門 ThinkPHP 命名範圍

在應用HTTP://www.aliyun.com/zixun/aggregation/17799.html">開發過程中,使用最多的操作還是資料查詢操作,憑藉ThinkPHP的連貫操作的特性, 可以使得查詢操作變得更優雅和清晰,然而新版的命名範圍功能,則是給模型操作定義了一系列的查詢封裝,讓你更方便的查詢資料。

定義屬性

要使用命名範圍功能,主要涉及到模型類的_scope屬性定義和scope連貫操作方法的使用。
我們首先定義_scope屬性:

class NewsModel extends Model {      protected $_scope = array(          // 命名範圍normal          'normal'=>array(              'where'=>array('status'=>1),          ),          // 命名範圍latest          'latest'=>array(              'or der'=>'create_time DESC',              'limit'=>10,          ),      );  } 

_scope屬性是一個陣列,每個陣列項表示定義一個命名範圍,命名範圍的定義格式為:

'命名範圍標識'=>array(      '屬性1'=>'值1',      '屬性2'=>'值2',      ...  ) 

命名範圍標識:可以是任意的字串,用於標識當前定義的命名範圍名稱。
命名範圍支援的屬性包括:

where 查詢準則 field 查詢欄位 order 結果排序 table 查詢表名 limit 結果限制 page 結果分頁 having having查詢 group group查詢 lock 查詢鎖定 distinct 唯一 查詢 cache 查詢緩存 每個命名範圍的定義可以包括這些屬性中一個或者多個。

方法調用

屬性定義完成後,接下來就是使用scope方法進行命名範圍的調用了,每調用一個命名範圍,就相當於執行了命名範圍中定義的相關操作選項對應的連貫操作方法。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.