title: Only update field if form value exists
body: <p>I'm using Form Model Binding as such and updating my DB using the fill() and save() methods.</p>
  
  <pre><code>{{ Form::model($account) }}
    {{ Form::text('name', null, array('class'=&gt;'class')) }}
    {{ Form::text('email', null, array('class'=&gt;'class')) }}
    {{ Form::password('password', array('class'=&gt;'class')) }}
    {{ Form::password('password_confirmation', array('class'=&gt;'class')) }}
  {{ Form::close() }}
  </code></pre>
  
  <p>Which fires my editAccount controller method:</p>
  
  <pre><code>$rules = array(
    'name' =&gt; array('required'),
    'email' =&gt; array('required'),
    'password' =&gt; array('confirmed')
  );
  
  $validator = Validator::make(Input::all(), $rules);
  
  if ($validator-&gt;fails())
  {
   // Redirect
  }
  
  // Save to DB
  $account-&gt;fill(Input::all());
  $account-&gt;save();
  </code></pre>
  
  <p>Which works fine, but if no password was supplied (because the user doesn't want to update/modify it) then the password field is set to null in the db. So, I only want the password field to update if a new password value is supplied via the form.</p>
  
  <p>I know I can do the following:</p>
  
  <pre><code>// Set the fields manually
  $account-&gt;name = Input::get('name');
  $account-&gt;email = Input::get('email');
  
  // Only update the password field if a value is supplied
  if (Input::get('password')) {
      $account-&gt;password = Input::get('password');
  }
  $account-&gt;save();
  </code></pre>
  
  <p>However I'm wondering if there is a more cleaner way to handle this? Like an UpdateOnlyIfValueExists() method within Laravel/Eloquent.</p>