MongoDB в красноречивом разъяснении отношений - PullRequest
0 голосов
/ 09 октября 2019

Я практикую использование Mongo DB для Laravel проекта.

В моих отношениях ко многим в MySql и Laravel Я использовал для создания третьей миграции.

Senario

Я строю общие Role и User отношения. Я делаю user model, user migration, role model, role migration, а также строю migration со ссылкой на user model и role model.

Миграция role_user выглядит следующим образомthis:

Schema::create('role_user', function (Blueprint $table) {
  $table->bigIncrements('id');
  $table->usnignedBigInteger('role_id');
  $table->usnignedBigInteger('user_id');
  $table->timestamps();
});

Примечание. Я создаю базу имен схем в алфавитном порядке model для соглашения об именах.

Работает нормально. role_user table имеет значение, когда я $user->roles()->attach($role->id); выполняю этот синтаксис.

при условии, что у меня уже есть user и role на моем database, и я создал один queryна моих user и role.

Но когда я использую Jenssegers / MongoDB , role_user table не генерирует отношения, вместо этого отношения генерируются вrole table создание нового экземпляра user_ids: Array и user table также создание нового экземпляра role_ids: Array.

Я также попытался ввести имя таблицы в моей модели следующим образом:

Ролевая модель

public function users() {
    return $this->belongsToMany(User::class, 'role_user')->withTimestamps();
}

Пользовательская модель

public function roles() {
    return $this->belongsToMany(Role::class, 'role_user')->withTimestamps();
}

Но все равно это не работает.

Вопрос

  1. Должен ли я беспокоиться о role_user table?
  2. Это повлияет на мое приложение в будущем?
  3. Должен ли я уронить role_user table?

Примечание: я создал role_user table базу на Laravel, красноречивом отношении ко многим .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...