Laravel-Pivot-Tabelle ausschließen

Lesezeit: 1 Minute

Ich habe zwei Modelle, User und Badge. Ein Benutzer kann mehrere Ausweise haben, und ein Ausweis kann mehreren Benutzern gehören. (unter Verwendung einer Pivot-Tabelle)

Derzeit erhalte ich die Daten, die ich benötige, aber zusätzlich erhalte ich die pivot Tisch mit. Wie schließe ich das aus?

Geben Sie hier die Bildbeschreibung ein

Hier ist die User Modell:

class User extends Eloquent {

    public function badges() {
        return $this->belongsToMany('Badge', 'users_badges');
    }

}

Und die Badge Modell:

class Badge extends Eloquent {

    public function users() {
        return $this->belongsToMany('User', 'users_badges');
    }
}

Hinzufügen pivot zu deinem $hidden Property-Array in Ihren Modellen.

class Badge extends Eloquent {

    protected $hidden = ['pivot'];

    public function users() {
        return $this->belongsToMany('User', 'users_badges');
    }
}

Und dasselbe mit Ihrem User Modell

class User extends Eloquent {

    protected $hidden = ['pivot'];

    public function badges() {
        return $this->belongsToMany('Badge', 'users_badges');
    }

}

  • @challet Ja, check out die Dokumentation hier. Scrollen Sie ein wenig nach unten und Sie finden ein Beispiel, wie Sie Attribute dynamisch ausblenden können.

    – ba0708

    19. April 2018 um 11:14 Uhr

Oder du kannst es immer noch Blenden Sie den Pivot bei Bedarf aus Hier entlang…

$user = User::find(1);
$user->badges->makeHidden('pivot');

$badge = Badge::find(1);
$badge->users->makeHidden('pivot');

  • makeHidden und makeVisible auch Arrays akzeptieren: makeHidden(['pivot', 'id', ...]) oder makeVisible(['pivot', 'id', ...])

    – Benutzer8555937

    20. Dezember 2019 um 13:07 Uhr

Sie können dies tun, indem Sie die json-Spalte verwenden. Lesen Sie diese Dokumente und hoffen, dass sie Ihnen helfen.
Vermeiden Sie die Pivot-Tabelle und verwenden Sie die Json-Spalte in Laravel

1257880cookie-checkLaravel-Pivot-Tabelle ausschließen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy