Wenn jemand ein Konto in der Anwendung erstellt, die ich erstelle, müssen sie ein Land angeben.Laravel 5.2 - Benutzerdefinierte Formularfeldname und Validierung
Um dem Benutzer eine Liste der Länder zur Auswahl zu geben, gibt es eine countries
Tabelle mit zwei Feldern: id
und country_code
. Die users
Tabelle hat ein country_id
Feld.
Ich möchte ein Auswahlfeld mit dem Namen country
anstelle von country_id
verwenden, aber ich bin nicht in der Lage, herauszufinden, wie ich das erreichen würde. Irgendeine Idee? Natürlich müssen die Validierung und das Zeug noch funktionieren.
Ist es außerdem erforderlich, das genaue Feld für countries.id
im Validierungscode anzugeben? Gerade jetzt, ich habe dies:
$this->validate($request, [
'name' => 'required',
'country_id' => 'required|exists:countries,id'
]);
Wie gesagt, sollten die Attributnamen country
statt country_id
sein, aber da ich die Eloquent Beziehung zwischen dem Nutzer und dem Land Modell angegeben habe, so etwas wie 'required|exists:countries'
tun sollte das tun Trick, oder?
Das war viel einfacher als ich erwartet hatte. Ich habe '$ request-> merge (['country_id' => $ request-> input ('country')]);' so kann ich '$ user-> create ($ request-> all());' verwenden . Vielen Dank! –
@ Willem-Aart yeap)) Aber Vorsicht, Setup '$ bewacht oder $ ausfüllbare Array' von Spalten in Ihrem' Model' so füllen Sie nur Daten, die Sie mehr zu lesen zulassen https://laravel.com/docs/5.1/eloquente # Massenzuweisung – Froxz