在我的项目中,我希望在一次使用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'输出。 –