Yii2从复选框列表中插入数据
以我的名义:Yii2从复选框列表中插入数据,yii2,checkboxlist,yii2-basic-app,Yii2,Checkboxlist,Yii2 Basic App,以我的名义: <?= GridView::widget([ 'id' => 'griditems', 'dataProvider' => $dataProvider, 'columns' => [ 'receiver_name', 'receiver_phone', 'item_price', 'shipment_price', ['class' => 'yii\grid\CheckboxColumn'], ], ]);
<?= GridView::widget([
'id' => 'griditems',
'dataProvider' => $dataProvider,
'columns' => [
'receiver_name',
'receiver_phone',
'item_price',
'shipment_price',
['class' => 'yii\grid\CheckboxColumn'],
],
]); ?>
我只是试着用这种方法插入数据,但插入的数据只是列表中的最后一个或最后一个复选框。我试图打印
foreach
中的id
,并且有多个id。这是因为您在foreach内部的每个save()
都重复使用相同的instace,所以您会一遍又一遍地覆盖相同的模型。您需要将$model=new Package()
放在foreach的内部:
foreach($select as $id){
$shipment= shipment::findOne((int)$id);
$model = new Package();
$model->company_id=1;
$model->shipment_id=$shipment->id;
$model->send_from=$shipment->send_from;
$model->send_to=$shipment->send_to;
$model->save(false);
}
foreach($select as $id){
$shipment= shipment::findOne((int)$id);
$model = new Package();
$model->company_id=1;
$model->shipment_id=$shipment->id;
$model->send_from=$shipment->send_from;
$model->send_to=$shipment->send_to;
$model->save(false);
}