Операция удаления в CGridView в yii.
Я использую CGRidVeiw, чтобы вывести свои записи из базы данных. В каждой записи у меня есть кнопка редактирования и удаления. Все работает, кроме операции удаления, на самом деле она показывает ошибку после нажатия на значок удаления, но все еще работает. Ниже это момент, как это на самом деле выглядит,
После нажатия обновить его не показывать запись. У меня есть мой взгляд и контроллер, как показано ниже.
// Контроллер илит
public function actionDeleteEmployer() {
$model = new AdminDeleteEmployer();
if (isset($_GET['id'])) {
$id = $_GET['id'];
}
$query = "DELETE FROM user,jobs USING user INNER JOIN jobs ON jobs.user_id = user.id WHERE user.id =$id";
Yii::app()->db->createCommand($query)->queryAll();
$this->redirect('admin/site/ManageEmployers');
}
///Посмотреть
Управление работодателями
<div class="form">
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider' => $model->search(),
'ajaxUpdate'=>false,
// 'filter' => $model,
'columns' => array(
array(
'name' => ' Employer ID',
'type' => 'raw',
'value' => 'CHtml::encode($data->id)',
'htmlOptions' => array('style' => 'width:90px;', 'class' => 'zzz'),
// 'filter'=>'false' /* for hiding filter boxes */
),
array(
'name' => 'Created On',
'type' => 'raw',
'value' => 'CHtml::encode( date("m-d-Y",strtotime($data->created)))',
'htmlOptions' => array('style' => 'width:90px;', 'class' => 'zzz'),
// 'filter'=>'false' /* for hiding filter boxes */
),
array(
'name' => 'Account Name',
'type' => 'raw',
'value' => 'CHtml::encode($data->name)',
'htmlOptions' => array('style' => 'width:90px;', 'class' => 'zzz'),
// 'filter'=>'false' /* for hiding filter boxes */
),
array(
'name' => 'Email',
'type' => 'raw',
'value' => 'CHtml::encode($data->email)',
'htmlOptions' => array('style' => 'width:90px;', 'class' => 'zzz'),
// 'filter'=>'false' /* for hiding filter boxes */
),
array(
'name' => 'Last Active On',
'type' => 'raw',
'value' => 'CHtml::encode( date("m-d-Y",strtotime($data->modified)))',
'htmlOptions' => array('style' => 'width:90px;', 'class' => 'zzz'),
// 'filter'=>'false' /* for hiding filter boxes */
),
array(
'class' => 'CButtonColumn',
'deleteConfirmation' => 'Are you sure you want to delte this item?',
'template' => '{view}{delete}',
'buttons' => array(
'view' => array('label' => 'view',
'url' => 'Yii::app()->controller->createUrl("ViewEmployerActivity",array("id"=>$data["id"]))'),
'delete' => array('label' => 'delete',
'url' => 'Yii::app()->controller->createUrl("DeleteEmployer",array("id"=>$data["id"]))'),
)
)
),
));
?>
</tbody>
</table>
1 ответ
Решение
Перенаправить на действия администратора
Yii::app()->db->createCommand($query)->execute();
$this->redirect(array('admin'))