J'ai 2 classes. Les liens et informations doivent être connectés. La classe Info a un link_id et le lien a un user_id.
Je souhaite que les utilisateurs voient les informations de leurs liens dans leurs tableaux de bord personnels. Donc, un utilisateur, a de nombreux liens, un lien a de nombreuses informations. P>
Modèle de liaison a: P>
$table->foreign('link_id') ->references('id')->on('links') ->onDelete('cascade');
3 Réponses :
Veuillez essayer de modifier la relation éloquente, indiquant qu'il s'agit d'une classe.
public function links(){ return $this->hasMany(Link::class); }
Salut! J'ai changé les liens et la classe d'information comme vous l'avez dit et cela donne la même erreur: Liens de fonction publique () {Retour $ Ceci-> Bewareto (link :: Classe); }
$ linksbyelier code> est une collection code> de code> de
lien code> modèles; Vous ne pouvez pas accéder à une relation (
infos code>) sauf si vous ne bougeez pas sur chacun.
public function infos(){
return $this->hasMany(App\Info::class);
}
public function link(){
return $this->belongsTo(App\Link::class);
}
Vous pouvez cueille code> le
Infos code> de la collection de liens que vous avez (en supposant que les relations sont correctement configurées):
$linksByOwner = Link::with('infos')->where('user_id', $user_id)->get();
$infos = $linksByOwner->pluck('infos');
Ce cueillette retourne un tableau. Est-il possible de le rendre un objet?
cueillette code> renvoie une nouvelle collection (objet), pas un tableau
Quel est le nom correct de "Info" et de la table "Link"?