Laravel + Fremdschlüssel null-Werte zulässt
Ich habe ein Formular mit einer dropdown-Auswahl können Sie wählen, die einen Fremdschlüssel für ein bestimmtes Modell. Die oberste option ist immer etwas wie
<option value="">please select</option>
So, wenn ich füllen mein Modell mit den Daten aus dem Formular,
$booking = new Booking($data);
Und versuchen, es zu speichern,
$booking->save();
Es schlägt immer fehl, weil das verstößt gegen die FK-constraint, da Laravel ist nicht intelligent genug, um zu bewirken, dieses Feld für mich. So kam ich mit diesem kleinen hack:
public function save() {
if(!$this->vehicle_id) $this->vehicle_id = null;
if(!$this->driver_id) $this->driver_id = null;
parent::save();
}
Aber gibt es keine Möglichkeit zu sagen, Laravel, die Felder repräsentieren FKs und sollte auf null gesetzt werden, wenn Sie eine ganze Zahl > 0?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine mögliche Lösung ist die Verwendung set Mutatoren für alle Fremdschlüssel: