У меня есть отношения между тремя моделями в моем приложении 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);
Сначала нужно создать страницу, а затем добавить ключевые слова. (не уверен, что синтаксис правильный)
$pages = [
'name' => 'mimi',
'link' => 'mimi',
'category' => 'trivial'
];
$keywords = ['GGG','DDD'];
$page = $user->pages()->create($pages);
foreach($keywords as $keyword) {
$page->keywords()->create(['name' => $keyword]);
}
Других решений пока нет …