(PS:代碼案例均來自官方文檔)php
1.命名規範:數據庫前綴+當前的模型類名thinkphp
由於模型類命名是駝峯法,因此獲取實際的數據表的時候會自動轉換爲小寫+下劃線命名的數據表名稱。若是你的模型命名不符合這一數據表對應規範,能夠給當前模型定義單獨的數據表,包括兩種方式。數據庫
設置完整數據表:app
namespace app\index\model; use think\Model; class User extends Model { // 設置完整的數據表(包含前綴) protected $table = 'think_user'; }
設置不帶前綴的數據表名:spa
namespace app\index\model; use think\Model; class User extends Model { // 設置數據表(不含前綴) protected $name = 'member'; }
2.常規CURD操做code
開始引入Model的時候,因爲命名問題,會引發命名衝突,因此修改配置文件中的blog
// 是否啓用控制器類後綴
'controller_suffix' => true,文檔
開啓控制器類後綴。get
這樣控制器的類名和3.X版本相同 io
例如:
namespace app\index\controller; use app\index\model\User; class UserController { #code }
接下來是具體的CURD操做。
<?php namespace app\index\controller; use app\index\model\User; class UserController { // 新增用戶數據 public function add() { $user = new User; $user->nickname = '流年'; $user->email = 'thinkphp@qq.com'; $user->birthday = strtotime('1977-03-05'); if ($user->save()) { return '用戶[ ' . $user->nickname . ':' . $user->id . ' ]新增成功'; } else { return $user->getError(); } } }