Hola, hago una comprobación en el beforedelete para saber si se puede borrar un registro o no. Si no cumple la condición no se puede borrar, entonces devuelvo false y no se elimina. Querría poder mandarle al usuario un mensaje de que el registro no se puede borrar con un pequeño texto descriptivo.
Gracias y saludosss
Puedes poner el error en algún atributo con addError
$this->addError('atributo','Error al borrar');
y luego lo obtienes con getError
$error = $model->getError('atributo');
Si haces el render de la vista nuevamente, el atributo que marcaste con el error, aparecerá distinguido del resto y con el error que indicaste
o intenta usar setFlash en el modelo
Yii::app()->user->setFlash('error',"Error al borrar!");
y luego recuperas el error con getFlash
$error=Yii::app()->user->getFlash('error');
Muchas gracias por contestar tan rápido. Cómo no es una validación de atributos, sino más bien que la categoría que quieren borrar no la tenga ningún producto… he utilizado Yii::app()->user->setFlash(‘error’,“Error al borrar!”);
Lo cuál me va perfecto si borro desde el menú de la vista view, pero si borro desde el admin, vía ajax no muestra el mensaje de error. Alguna sugerencia más…?
Saludos
lo he visto y lo he intentado, pero no me produce exception si no borra, así que siempre me sale que borrado correctamente, esto igual es por la versión de php que no reconoce try-catch? trabajo con la 5.3