MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Dlaczego laravel zwraca pustą tablicę dla relacji a ma wiele?

Twoje podejście do klucza obcego jest błędne w kontekście hasMany. Zamiast tego na bilecie powinna znajdować się pojedyncza kolumna o nazwie team_id, a następnie możesz wykonać następujące czynności.

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

Co zadziała, jeśli Twój bilet tak wygląda.

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

Zamiast tego wygląda na to, że w rzeczywistości robisz wiele za wiele, ponieważ jedna drużyna może mieć wiele biletów i odwrócić. Można to zdefiniować w ten sposób, prawdopodobnie doda to dane do obu modeli, ale nie jestem ekspertem od Mongodb w Laravel .

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

Wszystko to znajdziesz w dokumentacji .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo vs MongoEngine dla Django

  2. Mongoose zapisuje dokumenty, nawet jeśli sprawdzę, czy dokument już istnieje

  3. MongoDB Shell - dostęp do kolekcji z kropką w nazwie?

  4. Agregacja MongoDB C# z LINQ

  5. Zapytanie i filtrowanie nazw kluczy zamiast wartości w MongoDB