Tôi có một biểu mẫu có lựa chọn thả xuống cho phép bạn chọn khóa ngoại cho một kiểu máy cụ thể. Lựa chọn hàng đầu luôn luôn là một cái gì đó giống nhưLaravel + phím ngoài có thể vô hiệu hóa
<option value="">please select</option>
Vì vậy, khi tôi điền vào mô hình của tôi với dữ liệu này từ hình thức,
$booking = new Booking($data);
Và cố gắng tiết kiệm nó,
$booking->save();
Nó luôn thất bại bởi vì điều đó vi phạm ràng buộc FK vì Laravel không đủ thông minh để vô hiệu hóa trường này cho tôi. Vì vậy, tôi đã đưa ra ít hack này:
public function save() {
if(!$this->vehicle_id) $this->vehicle_id = null;
if(!$this->driver_id) $this->driver_id = null;
parent::save();
}
Nhưng không có cách nào để cho Laravel biết trường nào đại diện cho FK và phải được đặt thành null nếu chúng là số nguyên> 0?
http://stackoverflow.com/questions/17452923/empty-string-instead-of-null-values-eloquent –