## 模型
FastAdmin插件中的模型使用方法完全同ThinkPHP5的模型使用相同,請直接參考ThinkPHP5官方文檔`模型`章節。
請參考:http://www.hmoore.net/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
{
}
~~~