Php 更新表单值无效yii2

Php 更新表单值无效yii2,php,mysql,yii2,Php,Mysql,Yii2,我有由crud生成的默认表单。我需要更新消息栏 我的视图站点/index.php <div class="notifications-events-index"> <?= Html::encode($this->title) ?> <?= GridView::widget([ 'dataProvider' => $dataProvider, 'summary' => false, 'columns' => [

我有由crud生成的默认表单。我需要更新消息栏

我的视图站点/index.php

<div class="notifications-events-index">

<?= Html::encode($this->title) ?>



<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'summary' => false,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],

        'date_at',
        'type',
        'event_id',
        [
            'attribute' => 'Message',
            'filter' => true,
            'format' => 'raw',

            'value' => function ($model) {
                $form = ActiveForm::begin([
                    'action' => Yii::$app->urlManager->createUrl(['site/update', 'id' => $model->id])
                ]);
                return $this->render('_msg', [
                    'model' => $model,
                    'form' => $form,
                ]);
            },
        ]
    ],
]); ?>
<?php ActiveForm::end(); ?>

findModel正在运行。当我保存更新值时,它们不会更新。有什么想法吗?

不更新记录的可能原因:

  • 检查验证,可能有一些验证正在应用
  • 在模型的安全中检查可用属性
  • 调试POST数据。您的帖子数据可能未发布

  • 如果您仍然无法解决此问题,请同时发布您的模型。

    不更新记录的可能原因:

  • 检查验证,可能有一些验证正在应用
  • 在模型的安全中检查可用属性
  • 调试POST数据。您的帖子数据可能未发布

  • 如果您仍然无法解决此问题,请发布您的模型。

    为什么$model->save(false);?忽略validationDon't start ActiveForm widget in closure and end in parent grid view-这完全是错误的,您确定要在if条件中输入保存吗?如果要在gridview中编辑列,我建议您使用Kartik EditableColumnwhy$model->save(false);?忽略validationDon't start ActiveForm widget in closure and end in parent grid view-这完全是错误的,您确定要在if条件中输入保存条件吗?如果要在gridview中编辑列,我建议您使用Kartik EditableColumn
    public function actionUpdate($id)
    {
        $model = $this->findModel($id);
    
        $dataProvider = new ActiveDataProvider([
            'query' => NotificationsEvents::find()->orderBy('date_at'),
        ]);
    
        if ($model->load(Yii::$app->request->post())) {
            $model->save(false);
            return $this->redirect(['index']);
        }
    
        return $this->render('index', [
            'dataProvider' => $dataProvider,
            'model' => $model,
        ]);
    }