2017-05-23 18 views
0

我有一些項目firstnamesurname形式,checkbox停止所有可填寫的項目試圖保存到數據庫laravel

在我的模型我有

$fillable = [firstname, surname, checkbox]

$appends = [checkbox]

在我數據庫只包含firstnamesurname

複選框的用途是在觀察者發出信號後保存信號。

我想使用質量分配來設置所有這些項目。

但是,當涉及到保存我的模型時,它會嘗試在數據庫中保存checkbox

如何克服這個問題?

我不想單獨將它與$model->checkbox = Input::get('checkbox')分配,因爲我最終會有很多不同的項目。

回答

0

據我瞭解,你要爲模型做一個動態特性, 你可以做到這一點:keyvalue和:

  • metadata的列創建一個表model_id關係。
  • 使用$fillable = ['key', 'value']創建Metadata模型。
  • 在默認模型中添加hasMany關係與Metadata模型。
  • 創建額外的屬性

    $metadata = ['checkbox', 'foo', 'bar']; 
    
  • 的數組中的鍵執行陣列上的環和保存價值

    foreach($metadata as $key) { 
        $model->metadata()->create([ 
         'key' => $key, 
         'value' => Request::get($key) 
        ]); 
    } 
    
相關問題