如何在laravel中的多行中插入数组

问题描述 投票:0回答:3

嗨,我需要在表中插入一个数组,但我不知道该怎么办我正在使用select2插件来选择多个值作为标签,并将它们作为数组插入数据库中输入看起来像这样

<select name="designation[]" class="form-control" multiple="multiple" id="select2"></select>
//script
$('#select2').select2({
        tags: true,
        tokenSeparators: [',', ' '],
        selectOnClose: true
        });

EventController

public function store(Request $request){
        $validator = $request->validate([
            'theme' => ['required','unique:events,theme'],
        ]);
        $event = Event::create($request->except('designation'));
        $event->montant()->insert($request->get('designation'));


        return redirect()->to(route('admin.event.index'))
        ->withFlashSuccess('L\'éventment a bien etait ajouté');
    }

使用此代码,当我提交表单时出现此错误SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“ 0”(SQL:插入event_montants01)值(222,111))event_montant迁移

public function up()
    {
        Schema::create('event_montants', function (Blueprint $table) {
            $table->increments('id');
            $table->bigInteger('designation');
            $table->unsignedInteger('event_id');
            $table->foreign('event_id')->references('id')->on('events')
            ->onDelete('cascade');
            $table->timestamps();
        });
    }

请帮助我解决此问题

arrays laravel eloquent tags jquery-select2
3个回答
1
投票
您可以将包含多个关联数组的数组传递给insert以插入多个记录。您将需要这些关联数组以及您想要的字段的键。您可以获取输入,它是一个数组,并映射它以添加最终结果,并根据需要将该字段作为键:

0
投票
或者您可以在关系上使用save方法。

0
投票
谢谢大家的帮助,我刚刚解决了控制器中此代码的问题
© www.soinside.com 2019 - 2024. All rights reserved.