MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Por que o laravel retorna uma matriz vazia para um relacionamento com muitos?


Sua abordagem para a chave estrangeira está errada, quando no contexto de hasMany. Em vez disso, uma única coluna chamada team_id deve estar no ticket e você pode fazer o seguinte.
public function teams()
{
     return $this->HasMany('App\Team', 'team_id');
}

O que funcionaria se o seu bilhete se parecesse com isso.
{
      "_id": ObjectId("5f32d9bb486e94459b6531c3"),
      "subject": "\"URGENT\" Non-Compliance In (Eastern Region)",
      "content": "abc",
      "user_team": "5f044199e40dfe4847056785",
      "team_id":"5f3012bbb7c2bc422e4da5a2"
      "organization_id": "5f74359c7dcc8f6fbb2b47e2"
}

Em vez disso, parece que você está realmente fazendo muitos para muitos, porque uma equipe pode ter muitos tickets e reverter. Isso pode ser definido assim, provavelmente adicionará os dados aos dois modelos, mas não sou especialista em Mongodb em Laravel .
public function teams()
{
    return $this->belongsToMany(
        Team::class, null, 'ticket_ids', 'team_ids'
    );
}

Você pode encontrar tudo isso na documentação .