#數據庫操作Db
>[info]從框架中學習 操作分為:
>---
>增加 create
>更新 update
>刪除 delete
>讀取 read
>其它
[數據集概念](http://www.hmoore.net/manual/thinkphp5/150164)
如數據表操作比較直觀,建議直接使用db,不必使用model
~~~
db() 與 \think\Db::instance() 相同
~~~
* 獲取user表所有數據
`db('user')->select()`
* 時間段查詢[詳見](http://www.hmoore.net/manual/thinkphp5/165789)
~~~
db('user')->whereTime()
~~~
#模型model
應用實例詳見
* 模型應用于需要做特殊處理表或者多表視圖, 直觀數據表讀、寫,直接使用db會更直觀,方便維護
## 模型model使用補充
需要特別注意,tp5 model select,find等返回為model數組對象,而非像Db返回是數據數組,解決這個問題可以通過下面函數解決
~~~
/*
* 將model查詢對像轉換為數組數據
*
*/
function modelo2array($object){
$data = [];
foreach($object as $key=>$rowO){
$data[$key] = $rowO->toArray();
}
return $data;
}
~~~
return dump(modelo2array(model('name')->select());
說明: model內置:toJson(), toArray(), 只對find(),get(1)單條記錄有效。
使用模型,適合于應用字段需要進行轉換,或者有特別計算要求表。
當然,調用 model()->column("*");也可返回數據,但缺乏了model處理字段轉換等功能。
`
#驗證validate
* 可定義為獨立文件,對于數據表數據驗證,更偏向于類似于3.X方式,定義在model中。
*