繁体   English   中英

产品变体数据使用最新记录更新,每次在Laravel 5.3中

[英]Product Variants Data updated with last record Every time in Laravel 5.3

我正在尝试使用动态变体来更新我的产品。 添加或删除没有问题,但是当我尝试更新时,每次使用每个字段的最后一条记录进行更新时。

我正在尝试更新插入的动态变体...

  • 红色
  • 方形

它是关于动态表单字段的,可以正常插入,但是当我尝试更新它时,它同时使用填充字段更新了第一个值,并且同时使用字段更新了第二个值,由于该字段,我无法区分该字段刀片文件以数组形式返回。

当我尝试使用任何值更新时,它将在两个字段中都重复最后一个值,因此输出看起来像...

  • 形状方
  • 形状方

调节器

<?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/');
}

数据库图片请点击这里

在课堂上使用关注

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产品,因此在更新时它正在数据库中添加新产品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM