/ / Laravel 4: vyhnite sa duplicitnému zadaniu - laravel, duplikáty, laravel-4, spravodaj

Laravel 4: zabráňte duplicitnému vstupu - laravel, duplikáty, laravel-4, newsletter

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ď č. 1

Stačí definovať a jedinečné pravidlo v tabuľke vašich používateľov:

public static $rules = array(
"email" => "required|unique:users|email");