sql >> Database >  >> NoSQL >> MongoDB

Waarom retourneert laravel een lege array voor een heeft veel-relatie?

Uw benadering van de externe sleutel is verkeerd, wanneer in de context van hasMany. In plaats daarvan zou een enkele kolom met de naam team_id op het ticket moeten staan ​​en dan kun je het volgende doen.

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

Wat zou werken als je ticket er zo uitziet.

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

In plaats daarvan lijkt het alsof je veel te veel doet, omdat een team veel tickets kan hebben en omgekeerd. Dit kan zo worden gedefinieerd, dit zal waarschijnlijk de gegevens aan beide modellen toevoegen, maar ik ben geen expert op het gebied van Mongodb in Laravel .

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

U kunt dit allemaal vinden in de documentatie .



  1. Hoe plaats ik een binair bestand in mongodb met behulp van javascript?

  2. Hoe mapping te doen tijdens het indexeren in elasticsearch

  3. MongoDB Embedded Objects hebben geen ID (null-waarde)

  4. Hoe verbinding maken met MongoDB in Windows?