title: Laravel create or update without two queries
body: <p>I'm trying to use one form for both creates and updates. Both actions save through this method:</p>
  
  <pre><code>public function store() {
      $data = Input::all();
      $data['company_id'] = Auth::user()-&gt;company_id;
      $validator = Validator::make($data, Feature::$rules);
  
      if($validator-&gt;fails()) {
          return Redirect::back()-&gt;withErrors($validator)-&gt;withInput();
      }
  
      Feature::firstOrNew(['id' =&gt; Input::get('id')])-&gt;update($data);
  
      return Redirect::route('features.index');
  }
  </code></pre>
  
  <p>How can I rewrite this line:</p>
  
  <pre><code>Feature::firstOrNew(['id' =&gt; Input::get('id')])-&gt;update($data);
  </code></pre>
  
  <p>So that it doesn't fetch the object from the database first? There's no need for that; I'm not doing anything with it. It should either issue a <code>INSERT</code> if <code>Input::get('id')</code> is set, or an <code>UPDATE</code> if it's not.</p>