title: Laravel get user with Permissions
body: <p>I have a permission / roles setup for my users.
  this is via 6 tables</p>
  
  <ul>
  <li>users</li>
  <li>roles</li>
  <li>permissions</li>
  <li>role_user</li>
  <li>permission_role</li>
  <li>permission_user</li>
  </ul>
  
  <p>And the User Class has the following functions:</p>
  
  <pre><code>public function permissions(){
      return $this-&gt;belongsToMany(Permission::class);
  }
  
  public function roles(){
      return $this-&gt;belongsToMany(Role::class);
  }
  </code></pre>
  
  <p>the Permission Class has the following functions</p>
  
  <pre><code>public function roles() {
      return $this-&gt;belongsToMany(Role::class);
  }
  
  public function users() {
      return $this-&gt;hasMany(User::class);
  }
  </code></pre>
  
  <p>And finally Role has the following functions:</p>
  
  <pre><code>public function permissions() {
      return $this-&gt;belongsToMany(Permission::class);
  }
  public function users() {
      return $this-&gt;belongsToMany(User::class);
  }
  </code></pre>
  
  <p>So now I would like to request a user with all the permissions listed and all roles listed, so I created:</p>
  
  <pre><code>$u = \Auth::user();
  return User::with('roles.permissions')-&gt;with('permissions')-&gt;find($u-&gt;id);
  </code></pre>
  
  <p>which returned somthing like</p>
  
  <pre><code>{
      id: 53,
      name: "name",
      username: "username",
      avatar: "",
      email: "email",
      created_at: "2016-02-20 14:36:54",
      updated_at: "2016-02-20 14:36:54",
      roles: [{
          id: 1,
          name: "edit_forum",
          label: "Edit Forum",
          created_at: "2016-02-20 12:33:50",
          updated_at: "2016-02-20 12:33:50",
          permissions: [{
              id: 2,
              name: "Testing stuff",
              label: null,
              created_at: "2016-02-20 16:50:02",
              updated_at: "2016-02-20 16:50:02"
          }]
      }],
      permissions: [{
          id: 1,
          name: "Testing",
          label: null,
          created_at: "2016-02-20 16:50:02",
          updated_at: "2016-02-20 16:50:02"
      }]
  }
  </code></pre>
  
  <p>so as you can see, the permissions of it's roles are in a seperated array, now I'm trying 2 things, but I can't seem to figure out how to make the functions:</p>
  
  <p>first:
  Get all the permissions of the user itself and the permissions in 1 array.</p>
  
  <p>Second:
  Get this via a single scope/function</p>