在我的項目中,我想將多個數據保存在單獨的數據庫錶行中。Yii2傳遞數組值並將數據存儲在數據庫表中
在我的控制器操作的代碼如下:
$deletedProducts = new \app\models\ProductlinesDeleted();
$app = \app\models\Productlines::find()
->where(['product_id' => $id])->all();
foreach ($app as $prod){
$deletedProducts->productline_id = $prod->productline_id;
$deletedProducts->area_id = $prod->area_id;
$deletedProducts->product_id = $id;
$deletedProducts->internal_code = $prod->internal_code;
$deletedProducts->save();
$prod->delete();
}
return $this->redirect(['index']);
的$應用可以返回多個產品。基於此,我想將數據保存在數據庫表中。
- 每個產品都有一個area_id。
- 每個產品都有一個area_id。
,比如我有
- 產品1區1
- 產品1區2
所以有2個產品具有不同的區域。當我執行此操作時,必須保存:
- 產品1在數據庫表格行中具有區域1。
產品1在數據庫表下一行中有區域2。
我該如何做到這一點?謝謝。
不,它和我的代碼一樣..沒有區別 –
您在循環中創建了$ deletedProducts變量,因此每一個現有記錄都被寫入,並且將$ deletedProducts放入循環中。所以每次創建新對象並保存新記錄 –
感謝哥們!它實際上現在工作正常 –