## 模型
FastAdmin插件中的模型使用方法完全同ThinkPHP5的模型使用相同,请直接参考ThinkPHP5官方文档`模型`章节。
请参考:https://www.kancloud.cn/manual/thinkphp5/135186
## 冲突属性
我们在使用模型获取或修改数据时,禁止在代码逻辑中使用`$model->type`获取或修改数据,如
~~~sql
$user = new User;
$user->type = 3;
$user->save();
~~~
以上是错误的写法,正确的写法应该是
~~~sql
$user = new User;
$user->setAttr('type', 3);
$user->save();
~~~
因为`$type`是模型基类`Model.php`中的私有属性,不允许外部访问。同时模型基类中还有以下属性也是模型基类的属性,我们在设置或修改模型数据时要避免和以下的属性冲突。
~~~js
//极易冲突属性
type/data/name/table/error/createTime/updateTime/deleteTime
//一般冲突属性
connection/parent/query/class/validate/pk/field/except/disuse/readonly/append/origin/relation/insert/update/replace/force/auto/insert/visible/hidden
//不易冲突属性
autoWriteTimestamp/dateFormat/isUpdate/updateWhere/failException/useGlobalScope/batchValidate/resultSetType/relationWrite
~~~
## 特别提醒
特别注意下命名空间的使用。
如果你的模型存放位置是
~~~bash
addons/mydemo/model/User.php
~~~
则你的模型的命名空间为
~~~undefined
addons\mydemo\model
~~~
正确的使用方法如下:
~~~php
namespace addons\mydemo\model;
use think\Model;
class User extends Model
{
}
~~~