Thinkphp5基礎——04 模型(概念、CURD)
阿新 • • 發佈:2018-12-01
ORM(Object Relation Mapping) 物件關係對映
-
用來把物件模型表示的物件,對映到基於S Q L 的關係模型資料庫結構中去。
-
這樣,我們在具體的操作實體物件的時候,就不需要再去和複雜的 SQ L 語句打交道,只需簡單的操作實體物件的屬性和方法。
-
O R M 技術是在物件和關係之間提供了一條橋樑,前臺的物件型資料和資料庫中的關係型的資料通過這個橋樑來相互轉化 。
總結
總而言之,就是ORM能讓我們把資料表當做物件去操作。
模型
-
不單單做資料庫查詢,還可以包含業務邏輯。
-
主要用來做複雜的業務邏輯。
-
模型和資料庫表、物件,不是一對一的關係,可以一對多。
-
返回的是模型物件,而不是陣列。
注意:
5.1+版本,value和column方法返回的不再是一個模型物件例項,而是純粹的值或者某個列的陣列。
使用步驟
-
同模組下建立model資料夾;
-
model資料夾下建立和表名字一樣的model類檔案
假設表名稱是user,則檔名為User.php,類名為User。 -
model類繼承think\Model;
-
controller裡呼叫model類,呼叫類的內建或自定義方法
CURD操作
1. 插入
User::create(['name' => '張三']);
2. 更新
User::where('id', 1)
->update(['name' => 'thinkphp']);
3. 刪除
1)delete()刪除當前模型資料
// 先查詢,再刪除
$user = User::get(1);
$user->delete();
// 條件刪除
User::where('id','>' ,10)->delete();
2)destory() 直接刪除資料
// 根據主鍵刪除
User::destroy(1);
// 支援批量刪除多個數據
User::destroy('1,2,3');
// 或者
User::destroy([1,2,3]);
4. 查詢
1)根據主鍵,查詢單條記錄
User::get(1);
2)根據主鍵,查詢多條記錄
User::all('1,2,3');
// 或者
User::all([1,2,3]);
除了以上方式,模型還可以使用查詢構造器的方法。
參考資料: