MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi laravel renvoie un tableau vide pour une relation has many ?

Votre approche de la clé étrangère est erronée, dans le contexte de hasMany. Au lieu de cela, une seule colonne appelée team_id doit figurer sur le ticket, puis vous pouvez effectuer les opérations suivantes.

public function teams()
{
     return $this->HasMany('App\Team', 'team_id');
}

Ce qui fonctionnerait si votre ticket ressemble à ça.

{
      "_id": ObjectId("5f32d9bb486e94459b6531c3"),
      "subject": "\"URGENT\" Non-Compliance In (Eastern Region)",
      "content": "abc",
      "user_team": "5f044199e40dfe4847056785",
      "team_id":"5f3012bbb7c2bc422e4da5a2"
      "organization_id": "5f74359c7dcc8f6fbb2b47e2"
}

Au lieu de cela, il semble que vous fassiez plusieurs à plusieurs, car une équipe peut avoir plusieurs tickets et inverser. Cela peut être défini ainsi, cela ajoutera probablement les données aux deux modèles, mais je ne suis pas un expert de Mongodb dans Laravel .

public function teams()
{
    return $this->belongsToMany(
        Team::class, null, 'ticket_ids', 'team_ids'
    );
}

Vous pouvez trouver tout cela dans la documentation .