thinkphp5 模型操作


模型學習

在MVC里面,M是負責對數據的處理,其實在TP5里面模型封裝的已經很好了,基本上我們不用做過多的操作,使用系統自帶的基類即可完成大部分的curd操作。

 

 

模型定義

需要寫在模塊的model目錄下,我們可以使用TP5自帶的命令行工具進行生成。

注意1:在TP5里面模型也不在使用類后綴,直接就是使用去除表前綴后的名稱作為模型的名稱。(模型名稱使用大駝峰的方式)

例如:表的名稱為 sh_admin 對應的模型文件名稱 Admin.php

例如:表的名稱為 sh_goods_attribute 對應的模型文件名稱 GoodsAttribute.php

 

>php think make:model app\index\model\User

 

 

創建后

 

 

 

 

定義sh_user表

上面的模型和下面的sh_user是對應的

 

 

基本操作-增加

完成數據的增加主要有如下幾種方法

  1. 模型對象的save方法(先為對象設置屬性)
  2. 模型類的create靜態方法
  3. 模型對象的saveAll批量添加方法

 

 

實操:

1.模型對象的save方法(先為對象設置屬性)

 

 

2.模型類的create靜態方法【簡化操作】

 

 

3.模型對象的saveAll批量添加方法【上面的兩種操作,都只能完成單條數據的插入,如果批量插入數據,需要使用模型對象的saveAll方法】

 

 

 

基本操作-查看

查詢數據主要有如下幾種方法

  1. 模型類的get靜態方法【存在返回值為對象,否則為null】
  2. 通過字段查詢getByFieldname()方法
  3. 根據條件查詢get(['username' => 'root'])
  4. where方法查詢->find()
  5. where方法查詢->select()
  6. 模型類的all靜態方法和select靜態方法

 

實操:

1.模型類的get靜態方法【存在返回值為對象,否則為null】,通過傳遞主鍵獲取數據

 

 

效果

 

 

2.根據條件查詢get(['username' => 'root'])

方式一:

 

 

方式二:使用where方法傳遞(需要注意后面要通過find()方法調用一下)

 

 

 

3.通過模型對象的字段查詢getByFieldname('查詢條件')方法

 

 

 

  1. 模型類的where方法查詢,然后調用find()方法

 

 

 

5.where方法查詢->select()

方式一:

 

 

方式二:

 

 

 

6.模型類的all靜態方法和select靜態方法

 

 

注意:對應all和select方法返回的數據,是一個數組,數組中的每個元素是一個模型對象,如果我們需要把他們轉換為普通的二維數組(數組中的元素也是數組)

 

 

效果:

 

 

 

便捷方式獲取模型實例

在新版的Tp5里面可以有如下兩種便捷方式獲取模型實例:

方式一:使用model助手函數

 

 

 

方式二:使用TP5自帶的Loader類的model靜態方法

 

 

 

總結:在新版的TP5里面,在原先TP3.2里面的單字母函數D已經不存在,取而代之的是model函數。

 

基本操作-更新

更新數據主要有如下幾種方法

1.先 get(),后save()

2.模型類update靜態方法

 

 

實操:

1.先調用模型類的get()靜態方法,然后在調用模型對象的save()方法

 

 

2.模型類update靜態方法

方式一:

 

 

方式二:

 

 

 

基本操作-刪除

刪除數據主要有如下幾種方法

1.先使用模型類的get()靜態方法,然后在使用模型對象的delete()方法

2.模型類destroy靜態方法

 

 

實操:

1. 先使用模型類的get()靜態方法,然后在使用模型對象的delete()方法

 

 

2.模型類destroy靜態方法

 

 

3.使用destroy同時刪除多條數據

 

 

4.模型對象的delete方法進行刪除(需要傳遞刪除條件)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM