2016-12-26 8 views
-1

のような形式です。これは更新フォームです、私はカート内の数量foreach製品を更新する必要があります。 しかし、私は各結果を爆発させようと努力していません...それはobject2array変換エラーを返します...初めてこのエラーが発生しましたどのように私はこれをDBに保存することができますか?ララベルのカートの更新

​​

これは私のコントローラです:事前に

Route::post('aggiorna', function() { 
$quantita = Input::all(); 
$carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get(); 
    $quantita = explode(',', $quantita); 
    $i = 0; 
    foreach($carrelli as $carrello) { 
     $carrello->quantita = $quantita[$i]; 
     $i = $i++; 
    } 
    return Redirect::to('carrello'); 

}); 

感謝。

+0

'value'属性を' qt​​y [] 'フィールドに渡していることを確認してください!それは与えられたコードに従って私には見えません! –

+0

もちろん値はありますか... – rubenSousa

+0

エラーのコード部分は、 'view'またはその内側の' controller'の中にありますか? –

答えて

-1

データベースに存在する各$carreliの繰り返しを行いますが、値を保存することはありません。あなたはデシベルに保存するために、値を更新した後

Route::post('aggiorna', function() { 
    $quantita = Input::all(); 
    $carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get(); 
    $quantita = explode(',', $quantita); 
    $i = 0; 
    foreach($carrelli as $carrello) { 
     $carrello->quantita = $quantita[$i]; 
     $i = $i++; 
     $carrelo->save(); 
    } 
    return Redirect::to('carrello'); 

}); 

$carrelo->save();を追加します。

Input::all();を使用する場合は注意が必要です。つまり、データ配列には商品と数量の両方が含まれています。私はあなたが達成しようとしているのか分からないので、私はここで両方のソリューションを掲載しかし

Route::post('aggiorna', function() { 
    $quantita = Input::get('qty'); 
    $products = Input::get('products'); 
    $carrelli = \App\Models\Carrello::where('entry_by', \Session::get('uid'))->get(); 
    $quantita = explode(',', $quantita); 
    $products = explode(',', $products); 
    $i = 0; 
    foreach($carrelli as $carrello) { 
     $carrello->quantita = $quantita[$i]; 
     $carrello->products = $products[$i]; 
     $i = $i++; 
     $carrelo->save(); 
    } 
    return Redirect::to('carrello'); 

}); 

:私は、次のコードを使用してお勧めします。

関連する問題