【问题标题】:give two function in one button in Yii framework在 Yii 框架中一键提供两个功能
【发布时间】:2014-08-08 05:31:39
【问题描述】:

我有一个关于 Yii 框架的问题,我的提交按钮有问题,我想在一个提交按钮中提供两个 fungsi 保存和更新,谁能告诉我如何在表单上设置该功能?

<div class="row buttons">
    <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>

我将“保存”更改为“更新”它仍然有错误添加主键,我如何创建两个功能更新并一键保存?

    public function actionCreate()
{
    $model=new TblUasUts;

    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['TblUasUts']))
    {
        $model->attributes=$_POST['TblUasUts'];
        if($model->save())
            $this->redirect(array('view','id'=>$model->nim_mhs));
    }
            if(isset($_POST['TblUasUts'])
    {
            $model->attributes=$_POST['TblUasUts'];
            if($model->update())
            $this->redirect(array('view','id'=>$model->nim_mhs));
     }                
    $this->render('update',array(
        'model'=>$model,
    ));
}

【问题讨论】:

标签: javascript php button yii


【解决方案1】:

在您的表单中,您可以使用以下内容:

<div class="row buttons">
    <?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Update'); ?>
</div>

就后端代码处理不同的操作而言,有几个选项,例如,您可以:-

  • 将您的表单定向到不同的 URL
  • 设置一个(隐藏的)字段(例如 ID)并对其进行解析。
  • 使用来自 activeForm 的默认操作,该操作直接返回调用操作,例如 actionCreate() 或 actionUpdate()

鉴于您的更新,请按照我最初的建议扩展您的控制器以进行另一个操作 actionUpdate()

actionCreate() 或 actionUpdate() 动作之间的主要区别在于 Create 动作创建一个新的(空)TblUasUts 对象,而 Update 动作从数据库中填充 TblUasUts 对象。

public function actionCreate()
{
    $model=new TblUasUts;
    ...
    ... Do things with $model ...
    ...
    $model->save();

}

public function actionUpdate
{
    // The id of the existing entry is passed in the url. for example
    // ...http:// .... /update/id/10
    //
    $model = TblUasUts::model()->findByPK($_GET['id']);
    ...
    ... Do things with $model ...
    ...
    $model->save();

}

【讨论】:

  • 我仍然收到这样的错误,我该如何解决? CDbCommand gagal menjalankan 语句SQL:SQLSTATE [23000]:完整性约束违规:1062 键“PRIMARY”的重复条目“123456”
  • 您提供的信息量无法帮助您。至少向我们展示处理表单数据和保存记录的代码,因为问题正是在这一点上发生的。在那之前,你只能靠自己了。
  • 我一直在更新我的问题,我仍然对使用一键保存和更新这两个功能感到困惑
  • 您有一个视图,用于创建和更新,当您调用 actionCreate() 时,会使用表单操作“创建”创建视图。当您调用 actionUpdate() 时,将使用表单操作“更新”创建相同的视图。因此:1 个视图,2 个动作。请阅读 YII 网站上的教程 那里有解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多