将数据从gridview保存到另一个表yii2

将数据从gridview保存到另一个表yii2,yii,yii2,Yii,Yii2,我有一个带有过滤数据的gridview。如何将数据导出到另一个表,如kartik的ExportMenu <?= GridView::widget([ 'options' => ['width' => '70'], 'dataProvider' => $dataProvider, echo ExportMenu::widget([ 'dataProvider' => $dataProvider, 'columns' =

我有一个带有过滤数据的gridview。如何将数据导出到另一个表,如kartik的ExportMenu

<?= 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中。然后,我添加的代码应该就是您要查找的。。让我知道