Как зациклить значение поля ввода и вставить в его строку на основе значения базы данных в Laravel? - PullRequest
1 голос
/ 23 июня 2019

Моя проблема в том, что я хочу обновить quantity_served на основе количества и вставить последнее значение цикла в последнюю запись на основе входного значения.

Current Database record

Например, мое входное значение имеет 180.

Expected Result

Мой код не вставляет последнее значение циклавместо полного значения количества.

$var = $request->get('id');
$data = bulkcorporatemodel::orderBy('id', 'asc');

foreach ($data as $item)
{
    if ($var == 0 || $var < 0)
    {
        break;
    }

    $bulkcorp = bulkcorporatemodel::find($item->id);
    $dummyHolder = $bulkcorp->quantity;
    $bulkcorp->quantity_served = $dummyHolder;
    $bulkcorp->save();

    $success_output = '<div class="alert alert-success">BULK DATA UPDATED</div>';
    $var = $var - $dummyHolder;
} 

1 Ответ

0 голосов
/ 23 июня 2019

( edit: Я заметил, что $ item на самом деле уже находится в вашей коллекции $ data, нет необходимости искать элемент, он уже есть. Я соответственно изменил код исократить код все вместе:) )

$var = $request->get('id');
$data = bulkcorporatemodel::orderBy('id', 'asc')->get();
foreach ($data as $bulkcorp)
{
    if ($var <= 0)
    {
        break;
    }

    $bulkcorp->update(
        ['quantity_served' => $bulkcorp->quantity]
    );

    $success_output = '<div class="alert alert-success">BULK DATA UPDATED</div>';
    $var = $var - $bulkcorp->quantity;
}

Ключевое слово: update()

Мне непонятно, каковы отношения между $var и $bulkcorp->quantityявляется.Если var действительно id, вы получите меньше 0 за один цикл, а остальная часть $ data collection не будет выполнена.Если $request->get('id') - большое число, нет проблем.

Но это то, чего вы действительно хотите достичь.Обычно мы должны предоставить вам этот код, но хорошо, на этот раз:

$stock = $request->get('id');
$data = bulkcorporatemodel::orderBy('id', 'asc')->get();
foreach ($data as $bulkcorp)
{
    if ($stock <= 0)
    {
        break;
    }
    $stock >= $bulkcorp->quantity ? $served = $bulkcorp->quantity : $served = $stock;

    $bulkcorp->update(
        ['quantity_served' => $served]
    );

    $success_output = '<div class="alert alert-success">BULK DATA UPDATED</div>';
    $stock = $stock - $bulkcorp->quantity;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...