PHP: Laravel 如何在多个一对多关系中创建模型
PHP: Laravel how to create model in multiple one-many relationship
我在我的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]);
}
我在我的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]);
}