2016-11-14 21 views
1

レコードが存在しない場合はテーブルにデータを更新し、そうでない場合は新しいレコードを作成します。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();  
} 

しかし、私はこのエラーを取得しています:

MassAssignmentException in Model.php line 445:vendor_id 
+0

まずチェックmeta_title .. – Komal

答えて

2

あなたはあなたのVendorMetaクラスに次のコードを追加して、mass assignableをしたい属性をモデルを定義する必要があります

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

はい –

+0

作業、それはこのような多くの質問に答えるために私を動機として受け入れ答えとしてこれをマークその:Dを、そして他の人が適切な回答を迅速に得るのを助けます。 –

1

あなたはモデルに$fillableプロパティを設定する必要があります。

質量割り当てでdocsをご覧ください。あなたは正しい、この答えを見つけた場合は決める、あなたのテーブルで利用可能と

/** 
* The attributes that are mass assignable. 
* 
* @var array 
*/ 
protected $fillable = ['meta_title', 'meta_desc', 'meta_keyword']; 
関連する問題