2016-05-09 22 views
1

私はBuilder.phpライン2258でコールLaravel 5.2

BadMethodCallException問題があります。Query \ビルダー\未定義 方法を照らし\ Databaseへの呼び出し::(追加)

コントローラ正しく作成するlaravel 5.2で

public function Cart(Request $request, $id){ 

      $products_buy = Products::find($id); 

      Carts::add(array('id'=>$id,'name'=>$products_buy->name_product, 
          'qty'=>1,'price'=>$products_buy->price, 
          'options'=>array('img'=>$products_buy->picture))); 

      $content= Carts::content(); 
      return View('pay.cart')->with(
       "cart",$content 
      );  
     } 
+2

Carts :: addの代わりにCarts :: createを使用する必要がありますか? – Brett

+0

@Brett:ありがとうございました^^ –

+0

ブレット、私は答えを書いていました。あなたはそれを相手にしています。 –

答えて

1

エントリが使用

Model::create 

ない

Model::add 

これはすぐにそれをデータベースに追加されますのでご注意ください。

あなたはすぐに追加したくない場合は、

$flight = new Flight; 
$flight->fill($valuesArray); 
$flight->save(); 

場合にのみ、あなたが大量の割り当てエラーが発生した場合DB

にコミットする準備ができて保存を呼び出します。作成または塗りつぶすために渡す配列のすべての値が$ fillables変数のモデルに設定されていることを確認する必要があります。それがfillableにない場合は、fillまたはcreateメソッドで代入することはできず、手動で行う必要があります。 $ model-> value_not_in_fillable = 1;

class Flight extends Model 
{ 
    /** 
    * The attributes that are mass assignable. 
    * 
    * @var array 
    */ 
    protected $fillable = ['name']; 
} 
+1

あなたのために教えてくれてありがとう。 –

+0

@BiHíp正解なら正解 – Brett