title: Only read from write connection if model has been written to during request life cycle Laravel
body: <p>Stack: Laravel project connected to AWS Aurora cluster.</p>
  <p>Config: I have a read and write hostname specified for the Aurora connection with the sticky option set true as such:</p>
  <pre><code>'mysql' =&gt; [
          'driver' =&gt; 'mysql',
          'read' =&gt; [
              'host' =&gt; [
                  env('DB_HOST_READONLY'),
              ],
          ],
          'write' =&gt; [
              'host' =&gt; [
                  env('DB_HOST'),
              ],
          ],
          'sticky' =&gt; true,
  </code></pre>
  <p>With the sticky option set true, if a write operation is performed against the database during the request life cycle, subsequent requests, even if read-only, will be executed against the write node in the Aurora cluster.</p>
  <p>This means that if I say, write to an Orders table, and then select from a Users table, my select on the Users table will be run against the write node rather than a replica due to the fact that a write operation occurred previously during the request.</p>
  <p>Is there a way to isolate this behavior at an Eloquent Model level? In other words, could I specify that Laravel should only <em>stick</em> the connection if I am readying from a Model that was written during the current request's life cycle?</p>