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

Perché laravel restituisce un array vuoto per una relazione ha molti?

Il tuo approccio alla chiave esterna è sbagliato, quando nel contesto di hasMany. Invece una singola colonna chiamata team_id dovrebbe essere sul ticket e quindi puoi fare quanto segue.

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

Che funzionerebbe se il tuo biglietto fosse così.

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

Invece sembra che tu stia effettivamente facendo molti a molti, perché una squadra può avere molti biglietti e invertire. Questo può essere definito così, probabilmente aggiungerà i dati a entrambi i modelli, ma non sono un esperto di Mongodb in Laravel .

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

Puoi trovare tutto questo nella documentazione .