Варианты продукта Данные обновляются с последней записью Каждый раз в Laravel 5.3

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

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

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

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

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

  • форма квадрат
  • форма квадрат

контроллер

<?php

public function updateProducts($id, Request $request)
{
$featured = Input::has('featured') ? true : false;

$product = Product::findOrFail($id);
$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;
foreach ($test['variants_id'] as $key => $attrib) {
$var_name = $test['txt'][$key];
$varid = $attrib;
$variants = new VariantsOption;
$data = array(
'variants_id' => $varid,
'variants_name' => $var_name
);
$variants->where('id', '=', $x)->update($data);
}
}

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

изображение базы данных нажмите здесь

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 не найден, поэтому при обновлении он добавляет новый продукт в базу данных.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector