Laravel Collective HTML checkboxes form value 'on' instead of '1' is causing issues while add|update a DB element
<p>I am using <a href="https://laravelcollective.com/docs/5.3/html" rel="nofollow noreferrer">Laravel Collective HTML</a> and I am creating a form as follow:</p>

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

<p>It works fine, meaning if the value of <code>still_active</code> coming from DB is <code>1</code> the checkbox is shown checked or unchecked if value is <code>0</code>. If I check and option and try to save the element I got the following error:</p>

<pre><code>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)
</code></pre>

<p>I have check the form data sent to the server and I can see <code>still_active</code> set to <code>on</code> instead of <code>1</code>:</p>

<pre><code>_method:PATCH
_token:PtVu9DCMcV0EXlJRAKxMOOkobNWL2O2bbKhNWRtV
name:Nayeli Hoppe
start_date:2016-12-26
website:https://bogisich.com/accusamus-sequi-aspernatur-et.html
still_active:on
</code></pre>

<p>This is the method processing the data on the Controller:</p>

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

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

    return redirect()-&gt;route('bands.index')
        -&gt;with('success', 'Band updated successfully');
}
</code></pre>

<p>How I can avoid this? Do I need to transform the data on the controller before save it?</p>