模型定義
#一.定義模型
1. 定義一個與資料庫相符的模型
class User extends Model{ }
2.模型會自動對應資料表,模型類別的命名規則是除去表前綴(例如:tp_ )的資料表名稱,以駝峰法命名,且首字母大寫,例如:
tp_user(表名) => User( ; UserType(模型名稱)
3. 如果擔心模型的名稱和PHP關鍵字衝突,可以啟用類別後綴功能,只需要在應用程式設定檔app.php中設定:
// 开启应用类库后缀 'class_suffix' => true,
4. 設定完畢後,所有的控制器名稱與類別名稱都要加上Controller與Model,例如:
Class UserModel
Class UserController
二.模型設定1. 預設主鍵是id,如果想設定其他主鍵,類似uid:
protected $pk = 'uid';
2. 在控制器呼叫模型的時候,如果控制器類別名與模型名稱重複,可以設定別名:
use app\test\model\User as UserModel;
3. 在模型定義中也可以在模型中設定其他表名:
protected $table = 'tp_other';
4. 模型同控制器一樣也支援初始化,這裡必須設定static靜態方法,如下:
protected static function init() { //初始化内容 }三.模型操作
1.模型運算與資料庫運算一致,但模型運算不需要指定表名,例如:
#資料庫運算:
Db::name('user')->all ();
模型運算:
User:all();
2. 模型運算與資料庫操作回傳的結果類型不同,資料庫操作回傳的結果是一個(二維)陣列[ [ ] ],而模型操作回傳的結果是一個結果集[ { } ]。
推薦教學:《
TP5以上是thinkphp模型定義的詳細內容。更多資訊請關注PHP中文網其他相關文章!