title: Laravel 5 Model: Do not include certain columns in Eloquent
body: <p>I am trying to find an easier approach to this simple function I have. Basically what I am doing is dynamically loaded a form that's based on an Eloquent model. I do not want to include certain columns in the model like id's and the created_at and update_at columns. I am able to accomplish this with the following piece of code:</p>
  
  <p><strong>get Controller:</strong></p>
  
  <pre><code>$cms_information = collect(CmsUserInformation::where('users_id', Auth::user()-&gt;id)-&gt;first()-&gt;toArray());
  
  $cms_information-&gt;forget('id');
  $cms_information-&gt;forget('users_id');
  $cms_information-&gt;forget('created_at');
  $cms_information-&gt;forget('updated_at');
  
  $cms_information-&gt;all();
  
  return view('cms::admin.profile', ['user' =&gt; Auth::user(), 'cms_information' =&gt; $cms_information]);
  </code></pre>
  
  <p>Then, I will loop through the fields in a form and post them like so:</p>
  
  <p><strong>Post Controller:</strong></p>
  
  <pre><code>$profile = CmsUserInformation::where('users_id', Auth::user()-&gt;id)-&gt;first();
  
  $cms_user_information = Input::except('_token', 'email', 'password');
  
  foreach($cms_user_information as $field =&gt; $info ) {
  
      $profile-&gt;$field = $info;
  
  }
  
  $profile-&gt;save();
  </code></pre>
  
  <p><strong>My Eloquent table:</strong> </p>
  
  <pre><code>id
  user_id
  first_name
  last_name
  email
  created_at
  updated_at
  </code></pre>
  
  <p>This works exactly how I want but I feel like it's a quick and dirty way around using the Eloquent object to accomplish this. Does anyone have a way to accomplish this same thing but only use Eloquent object rather than converting to an array and using the collect() function?</p>