title: Where clause when variable is false doesn't consider that into the SQL query?
body: <p>I have something that I don't quite understand, I have the solution, but I don't know why and it's driving me a bit crazy</p>
  
  <p>Controller</p>
  
  <pre><code>DB::connection()-&gt;enableQueryLog();
  
  $transfer = Transfer::where('ticket_id', $last_ticket)-&gt;where('event_id', 36)-&gt;where('buyer', $user_email)-&gt;first();
  
  $queries = DB::getQueryLog();
  
  dd($queries);
  </code></pre>
  
  <p>Result</p>
  
  <pre><code>array:1 [
    0 =&gt; array:3 [
      "query" =&gt; "select * from `transfers` where `ticket_id` = ? and `event_id` = ? and `buyer` = ? limit 1"
      "bindings" =&gt; array:3 [
        0 =&gt; false
        1 =&gt; 36
        2 =&gt; "[email protected]"
      ]
      "time" =&gt; 0.36
    ]
  ]
  </code></pre>
  
  <p>Situation:
  <code>$last_ticket</code> in the DB is unique and never <code>null</code>, empty or <code>false</code>.</p>
  
  <p>In my example <code>$last_ticket</code> is <code>false</code>, but in the DB there's no any <code>false</code>, why do I still get results?</p>
  
  <p>Is it because whenever one where condition is false, it doesn't take that into the equation?</p>
  
  <p>So the question is:
  How can I do to receive the correct results meaning: if $last_ticket is false then no results, and if it has some data, then return the row result restricted by $last_ticket</p>
  
  <p>One option could be to put <code>if($last_ticket == false){$last_ticket='randomInexistentString_ag4dh&amp;2g32y4t'}</code> so it's not null or zero but I don't think it's the prettier way to go</p>