2017-07-07 120 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')); - >這是我如何編碼它 –

相關問題