在我的項目中,我希望在一次使用foreach循環插入多行數據。我有一個具有元素數組的變量。Yii2使用foreach循環保存數據庫中的多個數據創建
例如,如果我的數組有說3個不同的元素。我想將所有這3個元素保存在3個不同的數據庫表格行中。我也有其他所有3個數組元素相同的列。
我已經把它們放在foreach語句中,但只有第一個元素被保存。有什麼方法可以實現嗎?
我的代碼
public function actionCreate($prodID)
{
$model = new ProductlinesStorage();
if ($model->load(Yii::$app->request->post())) {
$productlineID = Productlines::find()->where(['area_id' => $model->productline_id, 'product_id' => $prodID])->all();
foreach ($productlineID as $singleProductlineID) {
$model->productline_id = $singleProductlineID->productline_id;
$model->user_id = Yii::$app->user->identity->user_id;
$model->isNewRecord = true;
$model->save();
}
return $this->redirect(['/product/storage?id='.$prodID]);
} else {
return $this->renderAjax('create', [
'model' => $model,
'prodID' => $prodID,
]);
}
}
只有productline_id是不同的其他列將有相同的數據,所有的prdouctline_id。
謝謝!!!
這是什麼線'$ productlineID =輸出代理產品::發現() - >其中([ 'AREA_ID'=> $模型 - > productline_id, 'PRODUCT_ID'=> $ PRODID ]) - > all();'我認爲你只能獲得單個記錄。 –
不,我得到多個記錄,我已經傾倒它,並檢查 –
你能告訴我你的'$ productlineID'輸出。 –