@Amondullo

Как сохранить имени несколько фотографий (мульти загрузка) в базу в Laravel 5.4?

Приветствую!

Изучаю Laravel 5.4 создавая интернет магазин.
В данный момент мое первое приложение - интернет магазин.

У товара должна быть фотогалерея.
Фотографии загружаются в указанный папку.
Вопрос:
Как сохранить в базу имени файлов в одном столбце?

За ранее благодарю!
Форма
<div class="form-group">
    <label for="imageInput">File input</label>
    <input required=""  data-preview="#preview"  name="input_img[]"  type="file" id="imageInput" multiple>
</div>


Контроллер:
$paths = [];
        foreach($request->input_img as $imag) {

            $image = $imag->getClientOriginalName();

        $actual_name = pathinfo($image,PATHINFO_FILENAME);
        $original_name = $actual_name;
        $extension = pathinfo($image, PATHINFO_EXTENSION);

        $i = 1;
        while(file_exists('images/products/'.$actual_name.".".$extension))
        {
            $actual_name = (string)$original_name.$i;
            $image = $actual_name.".".$extension;
            $i++;
        }

        $imag->move(Config::get('app.upload_path') . 'images/products', $image);
        $dir=public_path('images/products/thumbnails/');
        if( ! \File::isDirectory($dir) ) {
            \File::makeDirectory($dir, 493, true);
        }
		
		
        }
		
        $product->image = $paths;

        $product->save();


Ошибка
(1/1) ErrorException
Array to string conversion

in AdminProductController.php line 95
at HandleExceptions->handleError(8, 'Array to string conversion
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
DJZT
@DJZT
Laravel - code for you
Сделайте связь один ко многим с объектом Image в БД.
К продукту будете привязывать изображения.
А в самом объекте изображения хранить ID, originalName, path, product_id.
В таком случае у вас не будет каши в голове и вы разберетесь, как это рабоатет, да и схема более прозрачна.
В контроллере после сохранения изображения создавайте для него объект и сохраняйте в БД с необходимыми связями
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы