【问题标题】:Laravel query replace new data with old oneLaravel 查询用旧数据替换新数据
【发布时间】:2019-02-24 05:52:03
【问题描述】:

这个问题基本上是 [link]@

由于这个问题太混乱了,我想在这里分开问题。

说明

我在刀片中附加了行,其中将附加几个选择框,我可以选择每个选项。此数据将保存在数据库中(直到这里一切都好

问题

当我更改我选择的选项之一时出现,而不是更新它会将所有选择添加为新选项。

截图 1

代码

controller

public function spacssendto(Request $request) {
        $this->validate($request, array(
          'product_id' => 'required',
          'subspecifications' => 'required',
        ));

        // get all selected option
        $looped = $request->subspecifications;
        $spec = [];
        if(!empty($looped)){ //check if there is any select box without option
          foreach($looped as $sub) {
              $sub = Subspecification::find($sub);
              if (!empty($sub->id)) {
                  $data = (
                    [
                      'product_id' => $request->product_id,
                      'subspecification_id' => $sub->id,
                    ]
                  );
                  array_push($spec, $data);
              }
          }
      }
      dd($spec);
    //   DB::table('product_subspecification')->insert($spec); // save data to database
    }

截图 2

dd($spec)的结果

有什么想法吗?

【问题讨论】:

    标签: php laravel laravel-query-builder


    【解决方案1】:

    已解决

    我已将我的函数更改为下面的代码,现在一切正常

    public function spacssendto(Request $request) {
            $this->validate($request, array(
              'product_id' => 'required',
              'subspecifications' => 'required',
            ));
            $collection = collect($request->subspecifications)->map(function ($name) {
                return strtoupper($name);
            })
            ->reject(function ($name) {
                return empty($name);
            });
          $product = Product::find($request->product_id);
          $product->subspecifications()->sync($collection);
        }
    

    希望对他人有所帮助。

    【讨论】:

    • 需要 2 天时间才能做到这一点。
    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 2012-01-19
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    相关资源
    最近更新 更多