Не быть отношения в Laravel 5 дБ: семя - PullRequest
0 голосов
/ 17 мая 2018

У меня три модели
Разработчик модель:
миграция:

$table->increments('id');
$table->string('email')->unique();
$table->unsignedInteger('programming_language_id');
$table->unsignedInteger('language_id');
$table->timestamps();

и функция

class Developer extends Model
{
  public function programming_languages() {
    return $this->hasMany('App\ProgrammingLanguage');
  }

  public function languages() {
    return $this->hasMany('App\Language');
  }
}

Язык программирования модель:
миграция:

$table->increments('id');
$table->string('name')->unique();
$table->timestamps();

и функция:

protected $table = 'programming_languages';

public function developers() {
    return $this->belongsToMany('App\Developer');
}

Язык Модель:
Миграция:

$table->increments('id');
$table->string('code', 30)->unique();
$table->timestamps();

и функция:

public function developers() {
    return $this->belongsToMany('App\Developer');
}

Я хочу сделать СБ и быть отношениями между ними. Как я могу это сделать? Я пытаюсь: создать фабрику DeveloperFactory

$factory->define(App\Developer::class, function (Faker $faker) {
 return [
    'email' => $faker->unique()->safeEmail,
    'programming_language_id' => function () {
        return factory(App\ProgrammingLanguage::class)->create()->id;
    },
    'language_id' => function () {
        return factory(App\Language::class)->create()->id;
    }
 ];
});

seed OK, но это не создает никаких отношений. Просто запишите данные.
Как я могу это сделать с помощью db: seed?

1 Ответ

0 голосов
/ 17 мая 2018

Сначала заполняйте таблицы языков и языков программирования, а затем запрашивайте записи в сеялке разработчика.

return [ 
   'email' => $faker->unique()->safeEmail, 
    'programming_language_id' => App\ProgrammingLanguage::inRandomOrder()->first()->getKey(), 
    'language_id' => App\Language::inRandomOrder()->first()->getKey()
 ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...