Аргумент 1, передаваемый в Illuminate \ Database \ Grammar :: parameterize (), должен иметь тип массив - PullRequest
0 голосов
/ 01 августа 2020

У меня никогда не было проблем с красноречивыми моделями сохранения, но сегодня этот экземпляр модели тоже не работает. Это просто вызывает у меня это исключение.

У меня три таблицы.

  • галереи
  • design_stud ios
  • design_studio_gallery

галереи

public function up()
{
    Schema::create('galleries', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('caption');
        $table->string('picture');
        $table->text('description');
        $table->timestamps();
    });
}

design_stud ios

public function up()
{
    Schema::create('design_studios', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->bigInteger('user_id')->unsigned();
        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
        $table->string('title');
        $table->string('slug');
        $table->string('lang');
        $table->string('image')->nullable();
        $table->text('sliders');
        $table->text('body');
        $table->timestamps();
    });
    Schema::create('category_design_studio', function (Blueprint $table) {
        $table->bigInteger('category_id')->unsigned();
        $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        $table->bigInteger('design_studio_id')->unsigned();
        $table->foreign('design_studio_id')->references('id')->on('design_studios')->onDelete('cascade');
        $table->primary(['category_id' , 'design_studio_id']);
    });
    Schema::create('gallery_design_studio', function (Blueprint $table) {
        $table->bigInteger('gallery_id')->unsigned();
        $table->foreign('gallery_id')->references('id')->on('galleries')->onDelete('cascade');
        $table->bigInteger('design_studio_id')->unsigned();
        $table->foreign('design_studio_id')->references('id')->on('design_studios')->onDelete('cascade');
        $table->primary(['gallery_id' , 'design_studio_id']);
    });
}

Я хочу создать несколько галерей с помощью Dynami c .

function dynamicGallery (number) {
    let html = '' +
        '<div class="col-md-6">\n' +
        '<div class="form-group">\n' +
        '<label for="caption">Caption</label>\n' +
        '<input type="text" id="caption" name="caption[]" class="form-control">\n' +
        '</div>\n' +
        '<div class="form-group">\n' +
        '<label for="description">Description</label>\n' +
        '<textarea type="text" id="description" name="description[]" class="form-control"></textarea>\n' +
        '</div>\n' +
        '<div class="form-group">\n' +
        '<label for="picture">Picture</label>\n' +
        '<input type="file" id="picture" name="picture[]" class="form-control">\n' +
        '</div>\n' +
        '</div>';
    $('#showGallery').append(html);
}

DesignStudioController. php

public function store(Request $request)
{
    $designStudio = new DesignStudio;
    $designStudio->user_id = 1;
    $designStudio->title = $request->title;
    $designStudio->lang = $request->lang;
    $designStudio->body = $request->body;
    if($request->has('image')) {
        $image = $request->file('image');
        $filename = $image->getClientOriginalName();
        $image->move(public_path('images/slideShows'), $filename);
        $designStudio->image = $request->file('image')->getClientOriginalName();
    }
    $designStudio->sliders = json_decode($request->sliders, true);
    $designStudio->save();
    $designStudio->categories()->attach($request->category);
    $gallery = new Gallery();
    $gallery->caption = $request->caption;
    if($request->has('picture')) {
        foreach ($request->picture as $picture) {
            $randomize = rand(111111, 999999);
            $extension = $picture->extension();
            $filename = $randomize . '.' . $extension;
            $picture->move(public_path('images/galleries/'), $filename);
            $data[] = $filename;
        }
    }
    $gallery->picture = $data;
    $gallery->description = $request->description;
    $gallery->save();
    $designStudio->galleries()->attach($gallery->id);
    return redirect()->route('design-studios.index');
}

ошибка

...