2017-05-16 33 views
1

我正在努力更新某個模型。該模式具有變量'boolean_new_frame'。該值可以是01。雖然laravel表單的配置不起作用。我現在已經做了一些研究之後,代碼保持在0值...如何在更新Eloquent中處理Form :: checkbox?

形式:

<div class="form-group"> 
    {!! Form::label('boolean_new_frame', 'Pagina openen in nieuw venster?') !!} 
    {!! Form::hidden('boolean_new_frame', false) !!} 
    {!! Form::checkbox('boolean_new_frame', null, ['class' => 'form-control']) !!} 
</div> 

控制器:

public function update($id) { 
    $rule = Model::findOrFail($id); 
    $input = \Input::except(['true_mail_attachment']); 

    $rule->update($input); 

    return \Redirect::route('admin.rules') 
    ->with('message', 'Good!'); 
} 

有人能幫助我調整窗體/控制器'boolean_new_frame'變量已正確更新。

+0

什麼版本Laravel的是你使用? –

+0

對不起,使用laravel 5.1 –

+0

$ checkbox = Input :: get('boolean_new_frame'); – dsadnick

回答

1

您可以用默認串聯,因爲當複選框未選中有沒有爲它的輸入項:

更新(重新閱讀的問題):

$input["boolean_new_frame"] = !array_key_exists("boolean_new_frame",$input)?0:1; 
$rule->update($input); 
+0

我嘗試這個代碼,並選中該複選框,但數據庫中仍有表明,該值是0 .. –

+0

@AnnaJeanine我似乎已經把它放在了錯誤的方式 – apokryfos

+0

再次,檢查複選框,但值仍然是0 ... –