Вопросы

Laravel красноречивый множественный принадлежит к раздаче

У меня есть три модели: User, Category и Article.

Article принадлежит как User, так и Category, где внешние ключи user_id и category_id равны not null.

Я потерялся, пытаясь заполнить базу данных поддельными данными через фабрики, соответственно, вот код заполнения …

// 2 categories and 12 articles, 6 per category
// TODO: A user should have 6 articles with mixed categories 
// 3 from each category
// So we will have 2 users
factory(Category::class, 2)->create()->each(function($category) {
    factory(User::class)->create()->each(function($user) use ($category) {
        // How to assign an Article to $category or $user while creating?
        $user->articles()->createMany(
                    factory(Article::class, 3)->make()->toArray()
                ); // category_id can't be null
        // OR
        $category->articles()->createMany(
                    factory(Article::class, 3)->make()->toArray()
                ); // user_id can't be null
    });
});

Я получу одну из двух ошибок, либо

Столбец user_id не имеет значения по умолчанию

Or

Столбец category_id не имеет значения по умолчанию

Что логично из-за Article миграции таблицы

$table->increments('id');
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->unsignedInteger('category_id');
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');

Как я могу передать category_id или user_id заводскому вызову?
Есть ли лучший способ добиться этого?

Читать:
Покрытие Go для нескольких пакетов и значок покрытия Gitlab

заранее спасибо

Добавить их вот так? factory(Article::class, 3)->make(['category_id' => $category->id])->toArray() Это работает?   —  person Salim Djerbouh    schedule 20.09.2019

@kerbholz да, спасибо, дайте ответ, и я проголосую и приму   —  person Salim Djerbouh    schedule 20.09.2019

Похожие записи

Альтернатива ceil () и floor () для получения ближайших целочисленных значений выше и ниже значения с плавающей запятой?

admin

Как подключиться к базе данных MySQL в Julia

admin

Включение модификаторов представления SwiftUI в зависимости от платформы

admin

понимание структур, указателей и определений типов

admin

Отправка POST-запроса в файл PHP через arduino

admin

Как отобразить диалог поиска в элементе управления WebView2?

admin