thinkphp的自動完成功能說明

來源:互聯網
上載者:User

標籤:

手冊裡有一句話很關鍵:

自動完成是ThinkPHP提供用來完成資料自動處理和過濾的方法,使用create方法建立資料對象的時候會自動完成資料處理。

這句話說明自動完成發生的時間是create()組建資料的時候,而不是add和save的時候。 相對應的Model裡面$_auto 裡的完成時間(如下)表示的也是create()組建資料的時候,create()第二個參數即是表示的這個完成時間。當create()不加參數的時候預設時間為1,即新增資料時;當第二個參數為2時即表示為更新資料時,不需要第一個參數時第一個參數傳空,即create(‘‘,2); 但是這個功能似乎只是為了告訴作者是新增還是更新,並不是強制性的(至少現在還沒發現它有什麼實質性的功能),比如我想更新資料是自動化佈建一個欄位的值,但是我create()的時候不傳參數,然後$_auto裡完成時間設定為self::MODEL_INSERT,然後$model->field(‘指定更新的欄位‘)->where(‘更新的條件,注意如果沒有任何更新條件,save並不會更新資料庫‘)->save(), 這樣照樣可以完成這個欄位的更新,當然create(‘‘,2),   $_auto裡設定self::MODEL_UPDATE也行。

P.S.  Thinkphp裡讀取資料庫後的欄位全變為小寫了,讀取後用的時候也要全變小寫,但是插入更新的時候還是按照資料庫中的大小寫

完成時間(可選)

設定自動完成的時間,包括:

設定 說明
self::MODEL_INSERT或者1 新增資料的時候處理(預設)
self::MODEL_UPDATE或者2 更新資料的時候處理
self::MODEL_BOTH或者3 所有情況都進行處理

thinkphp的自動完成功能說明

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.