Filtern von pivot-Tabellen Daten mit Laravel models

Sagen wir, 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 models:

   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');
         }
   }

Möchte ich, um eine Liste aller Benutzer, sondern nur die primären Rollen, die im zurückgegebenen Objekt.
Wenn ich so etwas wie:

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

Jedes Benutzer-Objekt wird eine Liste aller Rollen, die entsprechend es. Ich möchte diese Liste enthält nur die primären Rollen. Gibt es eine Möglichkeit, diese aus einer Abfrage, ohne Nachbearbeitung das $user-array?

InformationsquelleAutor user1544110 | 2013-12-24
Schreibe einen Kommentar