如何在不附加Laravel中特定列数据的情况下进行同步?

bwntbbo3  于 2022-11-26  发布在  其他
关注(0)|答案(1)|浏览(103)

有从用户获取的数据,我想基于code同步它们:
cart_variation表具有以下列:

cart_id, variation_id, code, title, type

我想同步而不分离基于code的数据。如果code存在更新其他数据,如类型,标题或插入。我的意思是在数据中:
下面是一些无法正常工作代码:

$this->instance()->variations()->syncWithoutDetaching([$variation->id =>
 [$code => ['title' => $title, 'type' => $type]],
],


此代码不同步代码,我使用相同代码创建了许多条目

DB::table('cart_variation')
  ->updateOrInsert(
   ['cart_id' => $this->cart->id, 'variation_id' => $variation->id, 'code' => $code],
   ['title' => $title, 'type' => $type]
            );
rt4zxlrg

rt4zxlrg1#

DB::table('cart_variation')
  ->updateOrCreate(
   ['code' => $code],
   ['title' => $title, 'type' => $type, 'cart_id' => $this->cart->id, 'variation_id' => $variation->id]
            );

对于updateOrCreate,第一个数组是比较数组。
因此,基本上上面的代码将检查您提供的$code是否存在:

  • 如果情况为是,则它将更新字段title,type,cart_id,variation_id
  • 否则将创建新记录

相关问题