我的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);
答案 0 :(得分:2)
首先需要创建页面,而不是添加关键字。 (不确定语法是否正确)
$pages = [
'name' => 'mimi',
'link' => 'mimi',
'category' => 'trivial'
];
$keywords = ['GGG','DDD'];
$page = $user->pages()->create($pages);
foreach($keywords as $keyword) {
$page->keywords()->create(['name' => $keyword]);
}