亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

YII2模型層添加數據為什么沒反應?

YII2模型層添加數據為什么沒反應?

PHP
守候你守候我 2019-03-15 16:50:11
在寫進銷存的時候,在入庫的時候需要把商品加到倉庫中。代碼如下 public function actionCreate() { $model = new Goods(); $model->sku = strtoupper(uniqid()); $model->datetime = time(); $model->admin_id = Yii::$app->user->id; if ($model->load(Yii::$app->request->post())) { $cost = $model->cost_price; $number = $model->numbers; $model->total = $cost * $number; $models=ArrayHelper::toArray($model); if ($model) { $model->save(); $models->add($models); return $this->redirect(['view', 'id' => $model->id]); } } else { return $this->render('create', [ 'model' => $model, ]); } } 這是添加到入庫表的,$models->add($models);是添加到倉庫表模型層的方法 public function add($data) { foreach ($data as $k=>$v) { $asku = Warehouse::find()->where(['sku'=>$v['sku']])->one(); $askuCount = Warehouse::find()->where(['sku'=>$v['sku']])->count(); } if (!$askuCount) { $Warehouse=new Warehouse; $Warehouse->datetime=time(); $Warehouse->cid=$data['cid']; $Warehouse->name=$data['name']; $Warehouse->sku=$data['sku']; $Warehouse->counts=$data['numbers']; $Warehouse->price=$data['price']; $Warehouse->flag=1; $Warehouse->save(); }else{ $asku->counts += $data['numbers']; $asku->timeLastOp=time(); $asku->save(); } } 可以打印出數據,但是不知道為什么添加之后不能再Warehouse這個表中添加數據,有人知道嗎?剛用框架兩天,不是很懂。
查看完整描述

6 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

謝邀,沒用過yii2,你可以看看框架日志,看看執行的sql是怎么樣的

查看完整回答
反對 回復 2019-03-18
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

你這樣是修改數據,new Warehouse()才是新增。另外,循環之內,盡量別寫sql語句。

查看完整回答
反對 回復 2019-03-18
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

add 方法里 foreach$askuCount 這個變量是只存了最后一次循環結果吧,你循環外判斷這個不應該是 += 的結果嗎?或者說你把 if 判斷放循環里。

查看完整回答
反對 回復 2019-03-18
  • 6 回答
  • 0 關注
  • 655 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號