title: Why hasOne and HasMany generate the same Sql query in Eloquent?
body: <p>I have two <a href="/questions/tagged/eloquent" class="post-tag" title="show questions tagged &#39;eloquent&#39;" rel="tag">eloquent</a> Models:</p>
  
  <pre><code>class User extends Eloquent
  {
      public function phone()
      {
          return $this-&gt;hasOne('App\Models\Phone');
      }
  
      public function phones()
      {
          return $this-&gt;hasMany('App\Models\Phone');
      }
  }
  
  class Phone extends Eloquent
  {
      public function user()
      {
          return $this-&gt;belongsTo('App\Models\User');
      }
  }
  </code></pre>
  
  <p>If <code>User::first()-&gt;phone()-&gt;toSql()</code> and <code>User::first()-&gt;phone()-&gt;toSql()</code> generate the same raw <a href="/questions/tagged/sql" class="post-tag" title="show questions tagged &#39;sql&#39;" rel="tag">sql</a> query: </p>
  
  <pre><code>select * from `phones` where `phones`.`user` = ? and `phones`.`user` is not null
  </code></pre>
  
  <p>What is the difference between <code>hasOne</code> and <code>hasMany</code> relationships?</p>