1.定义模型
2.配置模型
3.模型操作
一.定义模型
1.一个和数据库表向匹配的模式
class user extends model
2.模型会自动对应数据表,并且有自己一套命名规则
3.模型类型需要去掉表前缀(tp_),采用驼峰式命名,并且
首字母大写:
tp_user(表名) ->User
tp_user_type(表名)->UserType
4.如果担心设置的模型类名和PHP关键字冲突,可以开启应用类后缀,
5.在app.php中,设置class_suffix的属性为true即可
//应有库后缀
'class_suffix' =>true;
6.设置完毕后,所有的控制器类名和模型类名需加上controller和model
class UserModel
UserModel.class.php
UserController.class.php
若在controller中的php为User.php和model中的User.php一样
,在controller中的User.php中
class User
{
public function index()
{
$result=\app\model\User::select();
return json($result);
}
}
或者(一般我们用的方法)
在在controller中的User.php中
use\app\model\User as UserModel
class User
{
public function index()
{
$result=UserModel::select();
return json($result);
}
}
二.设置模型
1.默认主键为id,你可以设置其他主键,比如uid
protected $pk='uid';
2.从控制器调用模型操作,如果和控制器类名重复,可以设置别名
use app\model\User\ as UserModel
3.在模型定义中,可以设置其他的数据表
protected $table='tp_one';
4.模型和控制器一样,也有初始化,在这里必须设置static的静态方法;
//模型初始化
protected static function init()
{
echo '初始化';
}
三.模型操作
1.模型操作数据和数据库操作一样,只不过不需要指定表了。
UserModel::select();
2.数据库操作返回的列表是一个二维数组,而模型的操作返回的是一个结果集
[[]] 和 [{ }]数组中的对象