PHP: Laravel, как создать модель в нескольких отношениях один-много

У меня есть отношения между тремя моделями в моем приложении Laravel, user модель имеет много pages а также pages имеет много keywordsВсе они соответствуют трем таблицам в базе данных с одинаковыми именами. Я хочу создать user и передать пользователей pages а также keywords на страницы. Я сомневаюсь, что у меня есть идея, как это сделать. Что я сделал ниже, но это не работает, даже когда я добавляю keywords в $fillable это исключение no column keywords on pages

что я сделал, это:

        $pages  =   [
'name' => 'mimi',
'link' => 'mimi',
'category' => 'trivial',
'keywords' => [
['name' => 'GGG'],
['name' => 'DDD']
]
];

$user->pages()->create($pages);

1

Решение

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

$pages  =   [
'name' => 'mimi',
'link' => 'mimi',
'category' => 'trivial'
];

$keywords = ['GGG','DDD'];

$page = $user->pages()->create($pages);

foreach($keywords as $keyword) {
$page->keywords()->create(['name' => $keyword]);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]