2015-04-08 13 views
6

Form verilerini sürdürmeye çalıştığımda, Laravel bir toplu atama istisnası atar.Laravel 5: form verisine devam edildiğinde, _token kütle ataması istisnasına neden olur

Görüntülediğim {!! form::open(...) !!} kullanıyorum görünümünde gizli bir alan olarak _token oluşturur. form verileri kontrolöre gönderilir

, benim veritabanında _token için bir alan ekleyerek olmalı

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

kullanıyorum? Yoksa yanlış bir şey yaparak bir hataya mı neden oluyorum?

cevap

15

Modelinizde fillable (veya guarded karşıt) özniteliklerini belirtmediğiniz için genellikle bir kütle ataması istisnası oluşur. Bunu yapın: Ayrıca yok

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

Bu şekilde endişe yaklaşık _token sadece belirtilen alanlar doldurulur ve olursa olsun modele geçmesi başka hangi şeyler db kaydedilecektir çünkü. Bu TAMAM

+0

mi? 'Sınıf Düzeni Modeli uzatır {protected $ table = 'orders'; korumalı $ doldurulabilir = ['field1', 'foo', 'bar']; ' –

+1

Evet. Tabii ki 'field1' yerine elbette gerçek özniteliklerinizi belirtmelisiniz. Bu sadece bir örnektir. – lukasgeiter

5

veya

protected $guarded = array();