【发布时间】:2019-06-23 01:56:35
【问题描述】:
我的问题是我想根据数量更新quantity_served,并根据输入值将最后一个循环值插入到最后一条记录中。
比如我的输入值为180。
我的代码没有插入循环的最后一个值而不是数量的完整值。
$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;
}
【问题讨论】:
-
据我所知,您正在尝试将
$dummyHolder分配给不存在的$bulkcorp->quantityserved,它应该是$bulkcorp->quantity_served。我错过了什么吗? -
抱歉先生拼写错误,它仍然不起作用先生。
-
老实说,我在您的代码中没有发现任何问题,除非您循环
$data as $data,这是错误的并尝试将其更改为$data as $item,当然也将$data->id更改为$item->id和看看会发生什么 -
这不起作用,先生。
-
In
$datatry$data = bulkcorporatemodel::all();不需要按id排序,总是按id排序。如果有疑问,请使用哑死功能dd($data);看看是否得到了您的期望。另外(不需要,但一种约定):将您的 ORM 模型名称设为BulkCorporate而不是bulkcorporatemodel。你很好,但是当你的代码变大时它会提高可读性。
标签: php laravel loops laravel-5 eloquent