在 laravel 中递增列

2022-08-30 12:45:49

有没有办法在laravel中增加多个列?

比方说:

DB::table('my_table')
->where('rowID', 1)
->increment('column1', 2)
->increment('column2', 10)
->increment('column3', 13)
->increment('column4', 5);

但这导致:

Call to a member function increment() on integer

我只想找到一种有效的方法来使用laravel中的给定函数来做到这一点。谢谢。任何建议都可以。


答案 1

没有现成的函数可以执行此操作。您必须使用:update()

DB::table('my_table')
   ->where('rowID', 1)
   ->update([
       'column1' => DB::raw('column1 + 2'),
       'column2' => DB::raw('column2 + 10'),
       'column3' => DB::raw('column3 + 13'),
       'column4' => DB::raw('column4 + 5'),
   ]);

答案 2

拉拉维尔雄辩模型中的递增和递减

添加到购物车选项是电子商务网站中最重要的功能之一。棘手的部分是获取购物车中要在购物车图标上显示的物品数量。完成此操作的主要方法是在Laravel上使用递增和递减函数。这也有助于在购物车中添加或删除产品。实现此函数的方法是,

$user = User::find(‘517c43667db388101e00000f’);
$user->cart_count++;
// $user->cart_count--; // for decrement the count
$user->save()

另一种更简单的方法是,

$user = User::find($article_id);
$user->increment('cart_count');

这些也将起作用:

$user->increment('cart_count');// increase one count
$user->decrement('cart_count'); // decrease one count
$user->increment('cart_count',10); // increase 10 count
$user->decrement('cart_count',10); // decrease 10 count

推荐