我是laravel的初学者,我想使用一个输入字段来更新多行。
我的数据库记录:
对于一个实例,我的输入字段的值为500,当我提交此字段时,它将把数据库中多个选择的ID从最早的更新为最新。
如果第一行的数量为100,它将为500-100,然后它将继续进行到第二行,其中输入字段的值现在为400,它将再次获得第二行的差额400 -200直到输入字段变为0。
这可能吗?谢谢。
答案 0 :(得分:0)
运行foreach并在其中传递您的输入字段。简单
您可以按照以下代码进行了解..
public function updateRecord(Request $req)
{
//get data from oldest(ASC) to latest (desc).
$var = $req->input_field;
$data = ModelName::orderBy('id','asc')->get();
foreach ($data as $key)
{
// ($var < 0) in case negative value
if($var == 0 || $var < 0)
{
break;
}
//find row with id
$singleRow = ModelName::find($key->id);
//holding data base quantity
$dummyHolder = $single->quantity_requested;
$single->quantity_requested = $dummyHolder + $var;
$singleRow->save();
//update variable
$var = $var - $dummyHolder;
}
}