我想创建/更新表单中的所有记录,我正在寻找一个不使用任何循环的干净解决方案,以下内容可以通过循环轻松修复。我正在使用 Laravel 5.8
模型类:学校-> HasMany(模型类:程序)
这是存储方法(需要修复)
public function store(Request $request, School $school)
{
$school->programs()->createMany(array($request->day, $request->schedule));
}
这是更新方法(需要修复)
public function update(Request $request, School $school)
{
$school->programs()->update(array($request->day, $request->schedule));
}
表单有一个简单的数组输入
<td width><input type="number" name="day[]" placeholder="Course Day (1-5)" class="form-control" /></td>
<td width><input type="text" name="schedule[]" placeholder="Actual schedule" class="form-control" /></td>
请尝试提供一个干净的解决方案,我刚刚创建了上面的示例,以尝试在 laravel 中学习正确的结构化和数据管理。
我不知道这个答案对你来说是否足够干净,但我能得到的最接近的是使用map
集合函数。
public function store(Request $request, School $school)
{
$school->programs()->createMany(
collect($request->day)->map(function($day, $key) {
return [
'day' => $day,
'schedule' => request('schedule')[$key],
];
})->toArray()
);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句