Добрый день. Возникла такая проблема. Есть 2 таблицы которые связаны внешним ключем. У каждой таблицы есть свой контроллер/вьюшка. Когда пытаюсь удалить запись в таблице, запись которой используется через внешний ключ с другой таблицей, выдается ошибка в виде окна:
Я хочу чтоб в случае если удалить запись нельзя т.к. она используется в другой связаной таблице флешем выводилось сообщение. Я сделал в контроллере:
public function actionDelete($id)
{
$del_chk = children::model()->findAll('id_contract='.$id); //получаю запись из таблицы где может использоваться удаляемая строка
if (empty($del_chk)) $this->loadModel($id)->delete(); //если эта строка не используется в таблице children - удаляю
else { //иначе формирую флэш
$msg = "Удалить данный договор нельзя, т.к. он используется в воспитанниках:";
foreach ($del_chk as $data){
$msg .= "\n".$data->fullPeopleName."";
}
Yii::app()->user->setFlash('error', $msg);
}
$this->redirect(array('index'));
}
В вьюшке делаю вывод флэша:
<?php if(Yii::app()->user->hasFlash('error')){ ?>
<div class="alert alert-error">
<?php echo Yii::app()->user->getFlash('error'); ?>
</div>
<?php }?>
Но ничего не выводится, видимо потому что удаление идет через аякс и надо как нить обновить страницу, только я хз как в
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'contra-grid',
'dataProvider'=>$dataProvider,
'columns'=>array(
'name',
'contractdate',
'contractdate_end',
'contractdate_break',
'contract_reason_break',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
вставить перехват аякса…
Как нить можно выводить при удалении флеш с сообщением? Кто знает или решал подобную проблемму?