( 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;
}