acking
- acking 2016-04-27 已签到连续签到3天,获得了15个金钱
- acking 2016-04-26 已签到连续签到2天,获得了10个金钱
- acking 2016-04-25 已签到连续签到1天,获得了5个金钱
DirtyAttributes :
大概定義 => 顯現汙染的屬性
假使是
INSERT
狀態dirtyAttributes
都應當出現填入的欄位值以下提出
UPDATE
狀態假使我 $model = User::findOne('2'); //抓取 User表中第二筆的資料 var_dump($model->status); //如果 int(2) 範例一 : $model->status = 3; if(empty($model->dirtyAttributes)){ echo "數據無變化"; }else{ echo "數據變化"; } Ans :: "數據變化" 範例二 : $model->status = 2; if(empty($model->dirtyAttributes)){ echo "數據無變化"; }else{ echo "數據變化"; } Ans :: "數據無變化"
參考文獻 :
En :
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#dirty-attributes真正原因是 dirtyAttributes 这个校验的是 === 。而input 输入框 status 的post提交上去的是字符串类型,而我的数据库类型是int类型。故被判断有变化,我只能在post上来的值强制转换为int类型,才能通过dirtyAttributes。
DirtyAttributes :
大概定義 => 顯現汙染的屬性
假使是
INSERT
狀態dirtyAttributes
都應當出現填入的欄位值以下提出
UPDATE
狀態假使我 $model = User::findOne('2'); //抓取 User表中第二筆的資料 var_dump($model->status); //如果 int(2) 範例一 : $model->status = 3; if(empty($model->dirtyAttributes)){ echo "數據無變化"; }else{ echo "數據變化"; } Ans :: "數據變化" 範例二 : $model->status = 2; if(empty($model->dirtyAttributes)){ echo "數據無變化"; }else{ echo "數據變化"; } Ans :: "數據無變化"
參考文獻 :
En :
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#dirty-attributesif ( Yii::$app->request->isPost ) { //$model->status = 0; if ($model->load(Yii::$app->request->post())) { if(empty($model->dirtyAttributes)){ echo "數據無變化"; }else{ echo "數據變化"; } } }
数据变化
if ( Yii::$app->request->isPost ) { //$model->status = 0; //if ($model->load(Yii::$app->request->post())) { if(empty($model->dirtyAttributes)){ echo "數據無變化"; }else{ echo "數據變化"; } //}
数据无变化
问题出在
$model->load(Yii::$app->request->post())
- acking 2016-04-22 已签到连续签到2天,获得了10个金钱
- acking 2016-04-21 已签到连续签到1天,获得了5个金钱
- acking 2016-04-18 已签到连续签到1天,获得了5个金钱