2017-02-20 25 views
0

Я пытаюсь обновить свои продукты динамическими вариантами, нет никаких проблем в добавлении или удалении, но когда я пытаюсь обновить его, его обновление в любое время последней записью на каждом поле.при обновлении данных о продуктах данные обновлены последней записью каждый раз в laravel 5.3

я пытаюсь обновить динамические варианты , где я вставленные

  • цвет - красный
  • форма -Square

его о динамической форме поля, вставить работу должным образом, но когда я пытаюсь обновить его, его обновленное первое значение как с зарегистрированным, так и с вторым значением как с полем, так и с i не сможет отличить поле, потому что файл клипа возвращается в виде rray.

и когда я пытаюсь обновить с любым значением его повторения последнего значения в обоих поле так, что вывод будет выглядеть

  • форма квадратный
  • форма квадратный

контроллер функция:

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


    $featured = Input::has('featured') ? true : false; 

    // Find the Products ID from URL in route 
    $product = Product::findOrFail($id); 



     // Update product 
     $product->update(array(
      'product_name' => $request->input('product_name'), 
      'product_qty' => $request->input('product_qty'), 
      'product_sku' => $request->input('product_sku'), 
      'price' => $request->input('price'), 
      'reduced_price' => $request->input('reduced_price'), 
      'cat_id' => $request->input('cat_id'), 
      'brand_id' => $request->input('brand_id'), 
      'featured' => $featured, 
      'description' => $request->input('description'), 
      'product_spec' => $request->input('product_spec'), 
     )); 

     $product->update($request->all()); 

$variants = VariantsOption::where('products_id', $id)->get(); 

$test=$request->all(); 

foreach ($variants as $v) { 
    $x =$v->id; 
//dd($x); 
//$variants_id = $request->input('variants_id'); 


//dd($variants_id); ans in array 
//exit; 
//dd($v 
// $variants->products_id = $insertedid; 
     foreach($test['variants_id'] as $key=>$attrib){ 

       $var_name=$test['txt'][$key]; 
       $varid=$attrib; 
       //dd($varid); 

     $variants = new VariantsOption; 
     //$variants->products_id=$insertedid; 
     $data=array(
     //'variants_id' => $request->input('variants_id'), 
      'variants_id'=>$varid, 
     'variants_name'=>$var_name 
     ); 

      $variants->where('id', '=' , $x)->update($data); 

     } 




} 

    return redirect('/admin/products/'); 
} 

database image click here

+0

Нужно указать, где условие при обновлении базы данных – Sona

+0

Нет приятеля .. где условие должно при обновлении какой-либо информации .. может просто распечатать ваш запрос перед его огнем .. обычно это происходит, когда u dont get id означает $ id. вот почему это может случиться ... попросите сначала распечатать запрос. –

+0

получить выход для $ вариантов и проверить, что выводит? –

ответ

0

использовать следующее в вашем классе

use Illuminate\Database\Eloquent\ModelNotFoundException; 

или добавить обработчик исключений в вашей функции

// Will return a ModelNotFoundException if no user with that id 
try 
{ 
    $product = Product::findOrFail($id); 
} 
// catch(Exception $e) catch any exception 
catch(ModelNotFoundException $e) 
{ 
    dd(get_class_methods($e)) // lists all available methods for exception object 
    dd($e) 
} 

Похоже, продукт с этим $id не найден так далее обновлять это добавление нового продукта в базе данных.