Php 如何在laravel中将多选值插入数据库?
查看代码:Php 如何在laravel中将多选值插入数据库?,php,mysql,laravel,Php,Mysql,Laravel,查看代码: <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>
<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>
$versions = new supportedversionsModel;
$versions->supportedversions = implode(',', $request-
>input('serial-lists'));
$versions->build()->associate($temp);
$versions->save();
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');
}
}
这是我的控制器代码。这里它应该将所选的值保存到db中。但是插入时它会抛出错误。例如,插入时数组到字符串的转换
支持的版本型号代码:
<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>
$versions = new supportedversionsModel;
$versions->supportedversions = implode(',', $request-
>input('serial-lists'));
$versions->build()->associate($temp);
$versions->save();
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');
}
}
supportedversion表的迁移代码:
<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>
$versions = new supportedversionsModel;
$versions->supportedversions = implode(',', $request-
>input('serial-lists'));
$versions->build()->associate($temp);
$versions->save();
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);
有关更多信息,请浏览此链接:
使用
dd($versions)
检查它是否是一个合法的模型对象,我应该在哪里提到ittry to do dd($versions);在$versions->save之前;是的,先生,dd($versions)工作它显示了受支持的版本模型{#228▼ #表:“HaghwaySupports”#connections:“mysql”#connection:null#primaryKey:“id”#keyType:“int”+递增:true#with:[]#withCount:[]#perPage:15+exists:false+wasRecentlyCreated:false#属性:数组:2[▶] #原始:[]#强制转换:[]#日期:[]#日期格式:null#附录:[]#事件:[]#可观察对象:[]#关系:数组:1[▶] #触摸:[]时间戳:真[隐藏]可见:[]可填充:[]受保护:数组:1[▶] }[{“salesPackage”:“[\'acces\”,\'manusa\”]”},{“salesPackage”:“[\'acces\”,\'manusa\”]”},{“salesPackage”:“[\'aa\”,\'bb\”]“},{”salesPackage:“[\'jj\”,\'kk\”]”}这是我的编码值$salesPackage