Filtern von Pivot-Tabellendaten mit Laravel-Modellen

Angenommen, ich habe drei Tabellen (dies ist nur ein Beispiel):

users
   user_id
   username

roles
   role_id
   name

user_roles
    user_id
    role_id
    primary (boolean)

Und die entsprechenden Laravel-Modelle:

   class User extends Eloquent {
        public function roles() {
              return $this->belongsToMany('Role')->withPivot('primary');
        }
   }
   class Role extends Eloquent {
         public function users() {
              return $this->belongsToMany('User')->withPivot('primary');
         }
   }

Ich möchte eine Liste aller Benutzer erhalten, jedoch nur mit den primären Rollen im zurückgegebenen Objekt. Wenn ich etwas verwende wie:

$users = User::with('roles')->find(1);

Jedes Benutzerobjekt verfügt über eine Liste aller ihm entsprechenden Rollen. Ich möchte, dass diese Liste nur die primären Rollen enthält. Gibt es eine Möglichkeit, dies aus einer Abfrage heraus zu tun, ohne das $ users-Array nachzubearbeiten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage