1

ここで私の見解では、レコードの削除にこのように使用しています

<?php  echo CHtml::link('Delete',"#", array("submit"=>array('delete', 'id'=>$data->id), 'confirm' => 'Are you sure?','class'=>'btn btn-danger icon_delete'));?>

削除ボタンを押している場合、アラート ボックスが生成されます。[OK] をクリックすると、アクションの削除は実行されません。つまり、(コントローラーには送信されません) 誰かが助けてくれます。

コントローラ

 public function actionDelete($id)
 {
 $this->loadModel($id)->delete();
 if(!isset($_GET['ajax']))
 $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('view'));
 }
4

1 に答える 1

0

レコードを削除するためのコードは問題ありません。コントローラーを確認する必要があると思います。アクション「削除」を定義していない可能性があります。確認してください。

次のパターンに従って、削除アクションのコードを変更する必要があると思います。

    $model = Your_modelClass name::model()->findByPk($id);
    $model->delete();
    $this->redirect(array('list'));

ここで、Your_modelClass 名は、データを削除するモデル (またはテーブル) と同じである必要があります。ただし、テーブルにもモデルを作成したことを確認してください。

3 行目はオプションです。任意のページ (ここでは一覧ページ) にリダイレクトする場合に使用できます。

役立つと考えてください。

于 2013-01-21T10:25:36.207 に答える