(PS:代碼案例均來自官方文檔)
1.命名規范:數據庫前綴+當前的模型類名
因為模型類命名是駝峰法,所以獲取實際的數據表的時候會自動轉換為小寫+下划線命名的數據表名稱。如果你的模型命名不符合這一數據表對應規范,可以給當前模型定義單獨的數據表,包括兩種方式。
設置完整數據表:
namespace app\index\model;
use think\Model;
class User extends Model
{
// 設置完整的數據表(包含前綴)
protected $table = 'think_user';
}
設置不帶前綴的數據表名:
namespace app\index\model;
use think\Model;
class User extends Model
{
// 設置數據表(不含前綴)
protected $name = 'member';
}
2.常規CURD操作
開始引入Model的時候,由於命名問題,會引起命名沖突,所以修改配置文件中的
// 是否啟用控制器類后綴
'controller_suffix' => true,
開啟控制器類后綴。
這樣控制器的類名和3.X版本相同
例如:
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();
}
}
}
