У меня есть многократная форма, за которой я следовал https://github.com/5balloons/multi-step-form-laravel, каждый вход прошел хорошо, кроме случаев, когда я вводил несколько изображений.Он не может быть вставлен в сеанс.Я использую несколько объектов сеанса для вставки, которые соответствуют каждой модели.Вот мои коды:
Я пробовал разные вещи и в итоге объект возвращает ноль, когда я использовал dd()
Вид
<div class="form-group">
<label for="images">Foto-foto Properti</label>
<input type="file" {{(!empty($secondaryImage->images)) ? "disabled" : ''}} id="images" name="images[]" required autofocus multiple>
@if ($errors->has('images'))
<span class="invalid-feedback" style="color:red" role="alert">
<strong>{{ $errors->first('images') }}</strong>
</span>
@endif
</div>
Контроллер
public function submitStep2(Request $request)
{
$property = $request->session()->get('property');
$secondary = new Secondary();
$secondaryImage = new SecondaryImage();
$validated = $request->validate([
'no_listing' => 'required|string',
'nama_marketing' => 'required|string',
'address' => 'required|string',
]);
// Secondary
if(empty($request->session()->get('secondary'))) {
$secondary->fill($validated);
$request->session()->put('secondary', $secondary);
} else {
$secondary = $request->session()->get('secondary');
$request->session()->put('secondary', $secondary);
}
// SecondaryImage
if(!isset($secondaryImage->images)) {
$imgreq = $request->validate([
'images' => 'required',
'images.*' => 'image|mimes:jpeg,png,jpg|max:2048',
]);
$gambar = $request->file('images');
if($request->hasFile('images')) {
foreach ($gambar as $img) {
$imgsname = date('YmdHis').'-'.$img->getClientOriginalName();
$pathimgs = $img->storeAs('public/filesSession', $imgsname);
$secondaryImage->images = $pathimgs;
$images[] = $imgsname;
}
}
$secondaryImage = $request->session()->get('secondaryImage');
// $secondaryImage->fill($imgreq);
$request->session()->put('secondaryImage', $secondaryImage);
}
dd($request->session()->all());
return redirect()->route('admin.secondary.create.step3');
}