2016-11-14 5 views
1

Ich möchte Daten in Tabelle aktualisieren, wenn der Datensatz beendet, wenn nicht, dann erstellen Sie einen neuen Datensatz.Wie aktualisiert man Daten in Tabelle mit in Laravel

if(!empty($request->meta_title)){ 
    $meta = new \stdclass(); 
    $meta = VendorMeta::firstOrNew(['vendor_id' => $id]); 
    $meta->meta_title = $data['meta_title']; 
    $meta->meta_desc = $data['meta_desc']; 
    $meta->meta_keyword = $data['meta_keyword']; 
    $meta->save();  
} 

Aber ich bin immer diese Fehlermeldung:

MassAssignmentException in Model.php line 445:vendor_id 
+0

Prüfen Sie zuerst Inmac Mengenrabatt in der Tabelle zur Verfügung und dann entscheiden .. – Komal

Antwort

2

definieren Sie sollten die Modellattribute Sie mass assignable machen wollen, so in Ihrer VendorMeta Klasse Add folgenden Code:

protected $fillable = ['vendor_id']; 
+0

Ja seine Arbeit –

+0

Wenn Sie diese Antwort richtig finden, markieren Sie diese als akzeptierte Antwort, wie es motiviert mich mehr Fragen wie diese zu beantworten: D, und Hilf anderen, schnell passende Antworten zu erhalten. –

1

Sie Sie müssen die Eigenschaft $fillable auf Ihrem Modell festlegen.

Werfen Sie einen Blick auf die docs unter Mass Assignment.

/** 
* The attributes that are mass assignable. 
* 
* @var array 
*/ 
protected $fillable = ['meta_title', 'meta_desc', 'meta_keyword']; 
Verwandte Themen