sql >> Databáze >  >> NoSQL >> MongoDB

Proč laravel vrací prázdné pole pro vztah má mnoho?

Váš přístup k cizímu klíči je nesprávný, když v kontextu hasMany. Místo toho by měl být na tiketu jeden sloupec s názvem team_id a poté můžete provést následující.

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

Což by fungovalo, kdyby tak váš lístek vypadal.

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

Místo toho to vypadá, že ve skutečnosti děláte mnoho pro mnoho, protože jeden tým může mít mnoho lístků a obrátit se. To lze definovat takto, pravděpodobně to přidá data do obou modelů, ale nejsem odborník na Mongodb v Laravel .

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

To vše najdete v dokumentaci .



  1. MongoDB C# driver 2.0:Jak získat výsledek z MapReduceAsync

  2. Generuje se MongoDB _id (ObjectId) ve vzestupném pořadí?

  3. Model.find() vrací v mongoose prázdnou

  4. Chyba MongoDB na mongos:příliš mnoho pozičních možností