gpt4 book ai didi

php - 如何在 Laravel 中将多选值插入数据库?

转载 作者:行者123 更新时间:2023-11-29 02:44:27 26 4
gpt4 key购买 nike

查看代码:

      <div class="col-sm-10">
<select multiple="multiple" class="form-control"
name="serial-lists[]" id="serial-lists[]" required>
<option value="1.0.0.1">1.0.0.1</option>
<option value="1.0.0.2">1.0.0.2</option>
<option value="1.0.0.3">1.0.0.3</option>
<option value="1.0.0.4">1.0.0.3</option>
<option value="1.0.0.5">1.0.0.3</option>
<option value="1.0.0.6">1.0.0.4</option>
<option value="1.0.0.7">1.0.0.5</option>
</select>
</div>

这是我的 View 代码。这里我选择了多个值,需要插入到数据库中。

Controller 代码:

     $versions = new supportedversionsModel;
$versions->supportedversions = implode(',', $request-
>input('serial-lists'));
$versions->build()->associate($temp);
$versions->save();

这是我的 Controller 代码。这里它应该将选定的值保存到 db 中。但是在插入时它会抛出错误。即,插入时数组到字符串的转换

支持的版本型号代码:

class supportedversionsModel extends Model
{

protected $table="HaghwaySupports";
protected $connections="mysql";

public function build(){

return $this->belongsToMany(debModel::class);
}
}

支持版本表的迁移代码:

class HaghwaySupversiosn extends Migration
{

public function up()
{
Schema::create('HaghwaySupports', function($table) {
$table->engine='InnoDB';
$table->increments('id');
$table->integer('build_id')->unsigned();
$table->string('supportedversions');
$table->foreign('build_id')->references('buildid')-
>on('MainHaghway');
$table->timestamps();

});
}

public function down()
{
Schema::dropIfExists('HaghwaySupports');
}
}

最佳答案

将其保存为 JSON 字符串。

 $versions = new supportedversionsModel;
$versions->supportedversions = json_encode(implode(',', $request->input('serial-lists')));
$versions->build()->associate($temp);
$versions->save();

在检索时,

$versions->serial_list = json_decode($serial_list, true);

通过此了解更多信息:

https://laravel.com/docs/5.4/eloquent-serialization

关于php - 如何在 Laravel 中将多选值插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44963693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com