将数据从gridview保存到另一个表yii2
我有一个带有过滤数据的gridview。如何将数据导出到另一个表,如kartik的ExportMenu将数据从gridview保存到另一个表yii2,yii,yii2,Yii,Yii2,我有一个带有过滤数据的gridview。如何将数据导出到另一个表,如kartik的ExportMenu <?= GridView::widget([ 'options' => ['width' => '70'], 'dataProvider' => $dataProvider, echo ExportMenu::widget([ 'dataProvider' => $dataProvider, 'columns' =
<?= GridView::widget([
'options' => ['width' => '70'],
'dataProvider' => $dataProvider,
echo ExportMenu::widget([
'dataProvider' => $dataProvider,
'columns' => $gridColumns
]);
?>
如果您有一个带有filterd数据的gridview,这意味着您有$dataProvider
简单地尝试在新视图(如果表位于其他视图中)或新的girdview中使用render
return $this->render('my_other_view', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
或者调用将数据提供程序作为参数传递的操作
Url:to(['/your_controller/action', 'dataProvider' => $dataProvider);
每个dataProvider都包含一个models属性,该属性列出了与dataProvider相关的所有模型,因此,如果需要将这些模型保存在新表中,您可以在操作中使用此代码
foreach( $dataProvider->models as $model) {
$myModel = new MyModel();
$myModel->att1 = $model->att1;
$myModel->att2 = $model->att2;
......
$myModel->save();
}
添加一些代码。我的意思是我想在db的新表中保存数据。在调用视图之前,您可以在操作中直接这样做。。你为什么需要这个?什么事。。更好地解释您的操作上下文请首先用户将过滤信息保存在excel中,然后将数据保存在db中。然后,我添加的代码应该就是您要查找的。。让我知道