Как обновить таблицу базы данных, добавив или вычтя исходные данные? - PullRequest
0 голосов
/ 28 марта 2020

Я хочу обновить свой инвентарь при создании нового запаса

Я пробовал эти два не работает

  foreach( $stock->stock_items as $item)
    {
        DB::table('inventories')->where('product_id',$item['product_id'])
            ->update(
                  'available_quantity' => 'available_quantity' + $item['quanity'],
                  'available_amount'   => 'available_amount' + $item['unit_price']
            );
    }

С этим, когда я использую один «прирост», он работает, но когда я делаю цепочку приращений, я получаю ошибку

  foreach( $stock->stock_items as $item)
    {
        DB::table('inventories')->where('product_id',$item['product_id'])
            ->increment('available_quantity',$item['quantity'])
            ->increment('available_amount',$item['unit_price']); 
    }

любая помощь будет оценена по достоинству

1 Ответ

2 голосов
/ 28 марта 2020

Пожалуйста, попробуйте, это исправит вашу проблему:

DB::table('inventories')->where('product_id',$item['product_id'])->update([
    'available_quantity' => DB::raw('available_quantity + ' . $item["quantity"]),
    'available_amount' => DB::raw('available_amount + ' . $item["unit_price"]),
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...