2015-04-08 17 views
6

Khi tôi cố gắng lưu giữ dữ liệu biểu mẫu, Laravel đang ném một ngoại lệ gán khối.Laravel 5: khi dữ liệu biểu mẫu tồn tại, _token gây ra ngoại lệ gán hàng loạt

Trong chế độ xem, tôi đang sử dụng {!! form::open(...) !!} mà tôi biết sẽ tạo ra _token làm trường ẩn.

Khi dữ liệu mẫu được gửi đến bộ điều khiển, tôi đang sử dụng

$data = Input::all(); 
$order = Order::create($data); 
$order->save(); 

Tôi có nên được bổ sung thêm một lĩnh vực cho _token trong cơ sở dữ liệu của tôi? Hay tôi đang gây ra lỗi bằng cách làm điều gì khác sai?

Trả lời

15

Ngoại lệ gán hàng loạt thường do bạn không chỉ định các thuộc tính fillable (hoặc guarded đối diện) trong mô hình của mình. Làm điều này:

class Order extends Eloquent { 
    protected $fillable = ['field1', 'foo', 'bar']; 
} 

Bằng cách này bạn cũng không cần phải lo lắng về _token bởi vì chỉ có các lĩnh vực quy định sẽ được lấp đầy và lưu trong db không có vấn đề gì những thứ khác mà bạn vượt qua mô hình.

+0

là OK này? 'Thứ tự lớp mở rộng Mô hình {protected $ table = 'orders'; được bảo vệ $ fillable = ['field1', 'foo', 'bar']; ' –

+1

Có. Tất nhiên, thay vì 'field1', bạn nên chỉ định các thuộc tính thực sự của bạn. Đây chỉ là một ví dụ. – lukasgeiter

5

hoặc

protected $guarded = array(); 
Các vấn đề liên quan