title: laravel 5.3 Many-to-Many relationship returns associated Role only when queried
body: <p>I am just confused on how this thing is working .</p>
  
  <p>I have a M-M relationship between by Users and Roles. If I retrieve my user like the following :-</p>
  
  <pre><code> $user = Auth::User();//-&gt;with('roles')-&gt;get();
  
          $roleName = $user-&gt;roles[0]-&gt;name;
  
          return $this-&gt;sendResponse('User retrieved successfully',$user);
  </code></pre>
  
  <p>I get the following response : </p>
  
  <pre><code>{
    "success": true,
    "message": "User retrieved successfully",
    "data": {
      "id": 2,
      "name": "dummy",
      "email": "dummy@dummy.com",
      "created_at": "2017-05-06 09:49:50",
      "updated_at": "2017-05-06 09:49:50",
      "tenant_id": 2,
      "roles": [
        {
          "id": 1,
          "created_at": "2017-05-06 06:26:55",
          "updated_at": "2017-05-06 06:26:55",
          "name": "Admin",
          "permissions": null,
          "pivot": {
            "user_id": 2,
            "role_id": 1
          }
        }
      ]
    }
  }
  </code></pre>
  
  <p>But, if I retrieve my user as :-</p>
  
  <pre><code>$user = Auth::User();//-&gt;with('roles')-&gt;get();
  
  
  
          return $this-&gt;sendResponse('User retrieved successfully',$user);
  </code></pre>
  
  <p>I get the following resut :-</p>
  
  <pre><code>{
    "success": true,
    "message": "User retrieved successfully",
    "data": {
      "id": 2,
      "name": "Ali",
      "email": "ali@and-or.com",
      "created_at": "2017-05-06 09:49:50",
      "updated_at": "2017-05-06 09:49:50",
      "tenant_id": 2
    }
  }
  </code></pre>
  
  <p>Why is this happening ? I expected the "first" posted result to the latter query.</p>
  
  <p>Secondly, I did not modify the $user after the query in the first "method" how did it get its Roles attachment ?</p>
  
  <p>I am sure there is an explanation, but I couldn't put my finger on it.</p>