Вставить значение одной строки в значение другой строки? (Желательно через Eloquent) - PullRequest
0 голосов
/ 22 марта 2019

В настоящее время я пытаюсь создать код, в котором значение одной конкретной строки вставляется в тот же столбец другой строки.

Например, у меня есть Тип продукта A как ProdA, и у него есть текущее количество (curr_quantity), ProdA будет превращен в ProdB через 1 неделю из-за порчи, что означает, что значение curr_quantity в ProdA будет вычтено и добавлено к curr_quantity ProdB, у меня есть код для обновления curr_quantity ProdA, но в настоящее время он не добавляет в ProdB.

Мои коды контроллеров:

$decrease = Product::where('created_at', '<', Carbon::now()->subDays(7))
                ->where('curr_quantity', '>', 0)
                ->get();

            foreach($decrease as $dec){
            $sub = $dec->curr_quantity;

                if($dec->products_id == 1){
                    $dec->update([
                        'curr_quantity' => $dec->curr_quantity - $sub
                        ]);
                }

                if($dec->products_id == 2){
                    $dec->update([
                        'curr_quantity' => $dec->curr_quantity - $sub,
                        ]);
                }

В моем коде выше он в настоящее время вычитает curr_quantity из ProdA и ProdB и вычитает, но он не "переносит" значение из одного продукта в другой.

РЕДАКТИРОВАТЬ: В моем текущем коде он вычитает оба, поскольку предполагается, что ProdB «переносится» в ProdC. Извините за недоразумение!

Тип продукта - FK, поэтому Prod A - это products_id == 1, B == 2 и C == 3 в фактическом коде.

[Sample]
ID | Product Type | curr_quantity
0  | Prod A       | 70
1  | Prod B       | 30
2  | Prod C       | 10 
3  | Prod A       | 90
4  | Prod B       | 05
5  | Prod C       | 05

Через 7 дней должно быть так:

ID | Product Type | curr_quantity
0  | Prod A       | 0
1  | Prod B       | 70
2  | Prod C       | 40 
3  | Prod A       | 0
4  | Prod B       | 90
5  | Prod C       | 10

Есть ли способ обновить curr_quantity ProdA и перенести его в ProdB?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...