Не сохраняются файлы через метод store в Laravel

подскажите пожалуйста из за чего не сохраняются файлы через метод store в Laravel? вроде все по доке верно делаю..

использую Ubuntu

Есть такой массив

введите сюда описание изображения

Вот мой цикл который сохраняет в базу (тут все ок) и метод store который должен сохранить в папку photos но не делает этого(

foreach ($request['photos'] as $file) {
  $advert->photos()->create([
      'file' => $file->store('adverts', 'public')
  ]);

  $file->store('photos', 'public');
}


Ответы (2 шт):

Автор решения: Bohdan Petrenko

попробуй использовать класс Storage::putFile(), вот подробнее в доке можешь почитать https://laravel.com/docs/5.8/filesystem#storing-files

→ Ссылка
Автор решения: Dmitrii Sedov

Попробуйте сделать так:

Во первых проверьте есть ли файл.

Во вторых используйте не $request->all(), а получение данных по ключам не в виде массива.

В третьих получите данные о файле с помощью функции file.

     foreach ($request->photos as $key => $file) {
        if ($request->hasFile('photos.'.$key)) {
            $myFile= $request->file('photos.'.$key);
            if ($myFile->getClientSize() > $myFile->getMaxFilesize()) {
                info("Превышен допустимый размер файла photos.$key"); 
                return;
            }
            $path = $myFile->store('...');
        }
        else {
           //запишет в лог что файл не найден!
           info("Файл photos.$key не найден");
           return;
        }
     }

Если не получится создайте в ручную папку в которую пытаетесь сохранить файл. Не забывайте что по умолчанию директория сохранения storage/app

→ Ссылка