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 :)