MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Warum gibt Laravel ein leeres Array für eine Beziehung mit vielen zurück?

Ihre Herangehensweise an den Fremdschlüssel ist im Kontext von hasMany falsch. Stattdessen sollte eine einzelne Spalte namens team_id auf dem Ticket stehen und dann können Sie Folgendes tun.

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

Was funktionieren würde, wenn Ihr Ticket so aussieht.

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

Stattdessen sieht es so aus, als würden Sie tatsächlich viele zu viele machen, da ein Team viele Tickets haben und umgekehrt werden kann. Dies kann so definiert werden, dies wird wahrscheinlich die Daten zu beiden Modellen hinzufügen, aber ich bin kein Experte für Mongodb in Laravel .

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

All dies finden Sie in der Dokumentation .