【TP5学习笔记一】数据模型操作
(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(); } } }