2016-12-26 4 views
0

DB를 요소를 업데이트Laravel 집단 HTML 체크 박스가 대신에 '1'을 추가하면서 문제를 일으키는 '에 대한 가치를 형성 | 내가 <a href="https://laravelcollective.com/docs/5.3/html" rel="nofollow noreferrer">Laravel Collective HTML</a>를 사용하고 나는 다음과 같은 양식을 만드는 오전

{!! Form::model($band, ['method' => 'PATCH','route' => ['bands.update', $band->id]]) !!} 
<div class="row"> 
    <div class="col-xs-4 col-sm-4 col-md-4"> 
     ... 
     <div class="col-xs-12 col-sm-12 col-md-12"> 
      <div class="form-group"> 
       <strong>Still active?:</strong> 
       {!! Form::checkbox('still_active', null, array('class' => 'form-control')) !!} 
      </div> 
     </div> 
     ... 
    </div> 
</div> 
{!! Form::close() !!} 

그것은 잘 작동 의미는 DB에서 입력하는 still_active의 값이 1 인 경우 값이 0 인 경우 확인란을 선택하거나 선택 취소 한 것입니다. 나는 확인하고 옵션을 나는 다음과 같은 오류가있어 요소 저장하려고하면 :

_method:PATCH 
_token:PtVu9DCMcV0EXlJRAKxMOOkobNWL2O2bbKhNWRtV 
name:Nayeli Hoppe 
start_date:2016-12-26 
website:https://bogisich.com/accusamus-sequi-aspernatur-et.html 
still_active:on 
: 나는 서버로 전송 양식 데이터를 확인하고 내가 on 대신 1still_active 설정을 볼 수 있습니다

QueryException in Connection.php line 770: 
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'on' for column 'still_active' at row 1 (SQL: update `bands` set `start_date` = 2016-12-26, `still_active` = on, `updated_at` = 2016-12-26 22:58:19 where `id` = 47) 

을 이 컨트롤러의 데이터를 처리하는 방법입니다

:

public function update(Request $request, $id) 
{ 
    $this->validate($request, [ 
     'name'  => 'required', 
     'start_date' => 'required', 
     'website' => 'required', 
    ]); 

    Band::find($id)->update($request->all()); 

    return redirect()->route('bands.index') 
     ->with('success', 'Band updated successfully'); 
} 

나는이 문제를 방지 할 수 있습니까? 저장하기 전에 컨트롤러의 데이터를 변환해야합니까?

답변

0

Here{!! Form::checkbox('still_active', 1, null, array('class' => 'form-control')) !!} 일부 참조입니다보십시오.