Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Lumen MassAssignmentException hatası neden alınıyor?

Açık 1 Cevaplar 73 Gösterim Php
Model::create($request->all) dediğim zaman MassAssignmentException hatası alıyorum. Sebebi, çözümüyle alakalı bilginiz var mıdır?

1 cevap

0

Model::create dedigimiz yerde Model sinifini ornek olarak uye adindaki sinif/tablo oldugunu dusunelim. Bu tablo icinde de adi/soyadi kolonlari olsun. Request nesnesi icinde adi/soyadi yaninda fazladan bir bilgi gelirse mesela yasi olsun, bu bilgiyi de tabloya kayit etmeye calisiyor ve tabloda da boyle bir kolon olmadigindan hata aliyor. Bunu engellemek icin Model sinifi yani Uye sinifi icinde hangi alanlarin kullanilacagini belirtmek lazim.

Ornek olarak

class Uye extends Model
{
    protected $fillable = ['adi', 'soyadi'];
}

Bu tanimda girilebilecek alanlarin isimleri verilmis. Laravel bunun tam tersini yani giremeyeceginiz alanlari da destekler. Ornegin

class Uye extends Model
{
    protected $guarded = ['yasi'];
}

Girilemeyecek alanlardansa ben girilebilecek alanlari belirtmeyi tercih ederim. Sonucta gerektiginde request icine bir suru alan eklenebilir, durumuna gore.

(4.5k puan)