title: Laravel DB transactions with multiple commits?
body: <p>Can I make some checkpoints during DB transaction? </p>
  
  <p>For example, when the transaction starts, I have many queries, updates, deletes and so on.</p>
  
  <pre><code>DB::transaction(function () {
      DB::table('users')-&gt;update(['votes' =&gt; 1]);
      // something else here
      DB::table('posts')-&gt;delete();
  });
  </code></pre>
  
  <p>As far as I understand, this kind of function would automatically commit everything in case of success and rollback if something goes wrong.</p>
  
  <p>But would it be possible not to rollback everything in case of error, for example, like</p>
  
  <pre><code>DB::table('users')-&gt;update(['votes' =&gt; 1]);
  // something else here
  DB::if_successful_so_far_do_not_rollback_previous_lines();
  DB::table('posts')-&gt;delete();
  </code></pre>
  
  <p>Do any "small inner commits" exist?</p>