Мне нужно загрузить несколько файлов по желанию. здесь я добавляю код
<form action="{{ route('UserConfirmation', app()->getLocale()) }}" enctype="multipart/form-data" method="post">
<div class="form-group form-control">{{ csrf_field() }}
<input type="tel" name="ContactNo" value="{{ old('ContactNo') }}" required>
<input class="form-control" type="file" name="nic" required><br>
<input class="form-control" type="file" name="BillingProof" ><br>
<input class="form-control" type="file" name="CashSlip" ><br>
<input class="btn btn-primary" type="submit" name="submit" ><br>
</div>
</form>
здесь есть два обязательных поля, остальные не обязательны, поэтому мне нужно сохранить их в базе данных как пустые, здесь я добавляю свой текущий контроллер.
public function store(Request $request)
{
//dd($request);
$validator = Validator::make($request->all(), [
'ContactNo' => ['required', 'string','max:15'],
]);
if ($validator->fails()) {
return redirect()->back() ->withErrors($validator)->withInput();
}
$nicPath = $request->file('nic')->store('public');
$billPath = $request->file('BillingProof')->store('public');
$CashSlipPath = $request->file('CashSlip')->store('public');
$UC = $request->all();
$UserCon= new UserConfirm();
$UserCon->ContactNo = $UC['ContactNo'];
$UserCon->NIC = str_replace('public/', '', $nicPath );
$UserCon->BillingProof = str_replace('public/', '', $billPath );
$UserCon->CashSlip = str_replace('public/', '', $CashSlipPath );
$UserCon->Status = "none";
$UserCon->Remark = "none";
$UserCon->save();
Session::flash('UserConfirm','We recived your Documents and we are working on it');
return redirect()->route('feedback',app()->getLocale());
}
а также я добавляю атрибут nullable к полям таблицы. здесь я прилагаю изображение таблицы