sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvorfor laravel returnerer en tom matrix for et har mange forhold?

Din tilgang til fremmednøglen er forkert, når den er i sammenhæng med hasMany. I stedet skulle en enkelt kolonne kaldet team_id være på billetten, og så kan du gøre følgende.

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

Hvilket ville fungere, hvis din billet ser sådan ud.

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

I stedet ser det ud til, at du faktisk laver mange til mange, fordi ét hold kan have mange billetter og reversere. Dette kan defineres sådan, dette vil sandsynligvis tilføje data til begge modeller, men jeg er ikke ekspert i Mongodb i Laravel .

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

Du kan finde alt dette i dokumentationen .



  1. Kører MongoDB Compass på Mac

  2. Forespørg MongoDB for flere ObjectID'er i Array

  3. Kan MongoDB pakkes i en Electron-app?

  4. Udfyld valgfeltet fra samlingen og filtrer i henhold til den valgte værdi i meteor