Как я могу создать список модельных отношений в Laravel eloquent? - PullRequest
0 голосов
/ 14 июля 2020

Если у меня есть таблица с именем Master Index, в которой, например, указано: Country Name = "USA", и я хочу, чтобы с ней было связано несколько моделей (ВВП, население, неравенство и т. Д. c), как мне определить список моделей в поле, чтобы я мог знать, какие свойства есть у этой страны?

Дайте мне знать, если это возможно, спасибо!

1 Ответ

1 голос
/ 14 июля 2020

Вы можете прочитать ЗДЕСЬ

Сначала вам нужно создать таблицу, но при миграции сделайте так, чтобы таблица, которую вы создадите, основана на примере иерархии:

Если у вас есть Master Index в качестве общего root отношений, когда молодые люди должны сделать это первым в миграции. Это будет выглядеть так в вашей папке Database > Migrations.

2020_07_14_0000001_create_master_indexs_table.php
2020_07_14_0000001_create_gdps_table.php
2020_07_14_0000001_create_populations_table.php
2020_07_14_0000001_create_inequalities_table.php

Модель основного индекса

Вы укажете взаимосвязь, которая должна выглядеть следующим образом:

public function gdps() {
  return $this->hasMany(Gdp::class); // if you have different foreign key you can specify it in the next argument return [$this->hasMany(Gdp::class, 'gdp_id');] like this
}

public function populations() {
  return $this->hasMany(Population::class);
}

public function inequalities() {
  return $this->hasMany(Inequality::class);
}

Модель GDPS / Модель популяций / Модель неравенства

Необходимо указать, где он принадлежит. Это должно быть так.

public function master_index() {
  return $this->belongsTo(MasterIndex::class);
}

GDPS Migration / Population Migration / Inequality Migration

При миграции вы должны указать внешний ключ.

Если вы используете Laravel 7.x , вы можете сделать вот так.

$table->foreignId('master_index_id')->constrained()->cascadeOnDelete();

Если вы не знакомы с приведенным выше кодом, вы также можете сделать это:

$table->unsignedBigInteger('master_index_id');

$table->foreign('master_index_id')->references('id')->on('master_indexs')->onDelete('cascade');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...