Ho un modulo con una selezione a discesa che consente di scegliere una chiave esterna per un modello particolare. La prima opzione è sempre qualcosa di simileLaravel + chiavi esterne nullable
<option value="">please select</option>
Così, quando mi riempio il mio modello con questi dati dalla forma,
$booking = new Booking($data);
E cercare di salvarlo,
$booking->save();
Non riesce sempre perché questo viola il vincolo FK perché Laravel non è abbastanza intelligente da annullare questo campo per me. Così sono arrivato fino a questo piccolo hack:
public function save() {
if(!$this->vehicle_id) $this->vehicle_id = null;
if(!$this->driver_id) $this->driver_id = null;
parent::save();
}
Ma non c'è alcun modo per dire che laravel campi rappresentano FKS e devono essere impostati su null se un intero> 0?
http://stackoverflow.com/questions/17452923/empty-string-instead-of-null-values-eloquent –