V mojej aplikácii existuje jednoduchý formulár s jedným poľom (e-mailom), ktoré umožňujú registráciu do bulletinu.
Ak zadám nový e-mail, bude všetko v poriadku.Ak zadám e-mail, ktorý už existuje v databáze, zobrazí sa chyba SQLSTATE [23000]: porušenie obmedzenia integrity: 1062 Duplicitný záznam ... Pretože som toto pole v databáze definoval ako jedinečné.
Všetko, čo chcem urobiť, je presmerovať ::späť () -> s („správa“, „e-mail už zaregistrovaný“) Ale neviem, ako to môžem urobiť? Môžem vložiť príkaz if do ovládača metódy? Alebo to musím definovať v pravidlách $ v modeli a pridať ďalšie pravidlo:
public static $rules = array(
"email" => "required",);
Ďakujem!
odpovede:
4 pre odpoveď č. 1Stačí definovať a jedinečné pravidlo v tabuľke vašich používateľov:
public static $rules = array(
"email" => "required|unique:users|email");