vytvorenie upozornenia, že sa nedá odstrániť riadok v tabuľke
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- majo1
- Člen | 103
mariadb..
Zdravím,
mám otázku.
Existuje nejaké jednoduché riešenie, ako oznámiť cez flash, že sa nedá
záznam odstrániť, ak je použitý vo vzťahu forign key?
ide mi o to, že nechcem, aby sa pri tomto probléme zobrazovala biela stránka
(production) alebo tracy (debug mode)
SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`nitransform`.`reservations`, CONSTRAINT `fk_reservation_customer1` FOREIGN KEY (`customer_idcustomer`) REFERENCES `customers` (`idcustomer`) ON DELETE NO ACTION ON UPDATE NO ACTION)
Chcelo by to nejak upraviť túto metódu
public function actionRemove($id)
{
$this->reservationManager->removeReservation($id);
$this->flashMessage('Rezervácia bola úspešne odstránená');
$this->redirect(':Reservation:default');
}
try, catch?
Ďakujem
Editoval majo1 (26. 2. 2016 15:15)
- majo1
- Člen | 103
jo!
spravil som to takto:
try {
$this->customersManager->removeCustomer($id);
$this->flashMessage('Zákazník bol úspešne odstránený');
$this->redirect(':Customers:default');
} catch (ForeignKeyConstraintViolationException $ex) {
$this->flashMessage('neda sa !');
$this->redirect(':Customers:default');
}
dakujem :)