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?

InformationsquelleAutor mpen | 2014-05-03
Schreibe einen Kommentar