Проблема Laravel: вставка нескольких изображений в сеанс в мульти-форме - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть многократная форма, за которой я следовал 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');
    }

1 Ответ

0 голосов
/ 18 апреля 2019

не голосуйте, если это не работает для вас, просто прокомментируйте и дайте мне решить, я только пытаюсь помочь, но это отлично работает для меня на laravel 5.7

**script**
      $images= $request->file('images');
      if ($images!= null) {
        foreach ($images as $image) {
          if ($request->hasFile('images')) {
           $imagePath = $request->file('image')->store('whateverFolder');
           $getimageName = time() . '.' . $request->image->getClientOriginalExtension();
           $request->image->move(public_path('whateverFolder'), $getimageName);
          }
        }
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...