我想要插入多个复选框值和多个邮箱,我正在用Foreach循环来做这件事.一切正常,但当1封邮箱为空时.它在邮箱字段中插入NULL,并且NULL复选框也插入完整数据.
这是我的表格,有20个输入
<form method="POST" action="{{route('send.document')}}">
@csrf
// 1st Email
<input type="email" name="email[]">
<input type="checkbox" name="task[]" value="sign">
<input type="checkbox" name="task[]" value="initial">
<input type="checkbox" name="task[]" value="date">
<input type="checkbox"name="task[]" value="cc">
// 2nd Email
<input type="email" name="email[]" >
<input type="checkbox"name="task[]" value="sign">
<input type="checkbox" name="task[]" value="initial">
<input type="checkbox" name="task[]"value="date">
<input type="checkbox" name="task[]" value="cc">
// 3rd Email
<input type="email" name="email[]">
<input type="checkbox" name="task[]" value="sign">
<input type="checkbox" name="task[]" value="initial">
<input type="checkbox" name="task[]" value="date">
<input type="checkbox" name="task[]" value="cc">
// 4th Email
<input type="email" name="email[]" >
<input type="checkbox" name="task[]" value="sign">
<input type="checkbox" name="task[]" value="initial">
<input type="checkbox" name="task[]" value="date">
<input type="checkbox" name="task[]" value="cc">
<button type="submit">Send</button>
</form>
这是我的路由
Route::post('/send-document',[SendDocumentController::class, 'sendDocToUser'])-
>name('send.document');
我的控制器
public function sendDocToUser(Request $request)
{
$UpdateFile = FileStorage::where('id', $request->id)->first();
if (!empty($request->email)) {
foreach($request->email as $mail) {
$save = new SendFile([
'Email' => $mail,
'senderId' => Auth::id(),
'fileName'=> $UpdateFile->uniqueFileName,
'task' => $request->task,
]);
$save->save();
}
}
}
数据库插入的数据: