2017-07-07 98 views
2

查看代码:如何在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> 
       <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(); 

这是我的控制器code.Here应该选择的值保存到db.BUt上插入它引发错误.IE,阵列到字符串的转换上插入

SupportedversionsModel CODE:

class supportedversionsModel extends Model 
{ 

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

    public function build(){ 

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

为supportedversion表迁移代码:

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'); 
    } 
} 
+0

使用'DD($版本);'来检查它是否是一个合法的模型对象 –

+0

我应该在哪里提及它 –

+0

尝试做dd($版本);在$ versions-> save之前; –

回答

1

保存为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); 

Gothrough本作的详细信息:

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

+0

[{“salesPackage”:“[\”acces \“,\”manusa \“]”},{“salesPackage”:“[\”acces \“,\”manusa \“]”},{“salesPackage” : “[\” AA \ “\ ”BB \“] ”},{“ salesPackage ”:“[\ ”配件\“,\ ”手册\“] ”},{“ salesPackage ”:“[\” JJ \“,\”kk \“]”}] - >这是我编码的json值 –

+0

如何解码它? –

+0

$ salesPackage-> salesPackage = json_encode($ formdescription-> input('package')); - >这是我如何编码它 –

相关问题