MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Защо laravel връща празен масив за връзка има много?

Вашият подход към външния ключ е грешен, когато в контекста на hasMany. Вместо това в билета трябва да има една колона, наречена team_id, и тогава можете да направите следното.

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

Което ще свърши работа, ако билетът ви изглежда така.

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

Вместо това изглежда, че всъщност правите много към много, защото един отбор може да има много билети и да се обърне. Това може да се дефинира така, това вероятно ще добави данните към двата модела, но аз не съм експерт по Mongodb в Laravel .

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

Можете да намерите всичко това в документацията .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Средна заявка за агрегиране на Mongo без група

  2. Използване на sparse:true все още получава MongoError:E11000 грешка при дублиран ключ

  3. MongoDB - Отказано разрешение за сокет:/tmp/mongodb-27017.sock

  4. Как да представим масив със смесени типове

  5. C# MongoDB - Как да добавяте и премахвате елемент към множество вложени елементи на масив?