如何在 Laravel Nova 中创建和更新多对多关系的信息
我想要在创建和更新 post
的时候可以选择或更新 tag
,该如何实现?
// App\Post
public function tags()
{
return $this->belongsToMany(Tag::class, 'post_tags');
}
// App\Tag
public function posts()
{
return $this->belongsToMany(Post::class, 'post_tags');
}
// App\Nova\Post
public function fields(Request $request)
{
return [
ID::make()->sortable(),
Text::make('Title')
->rules('required', 'max:255'),
BelongsTo::make('Category', 'category'),
BelongsToMany::make('Tags'),
];
}
以上是我目前的写法,与post
相关联的 tag
只有在 PostDetail
中显示
在 create
和 edit
时都没有显示可选择的 tag
同问 我也想知道怎么在一个页面创建多个表
添加 Laravel Nova的 tags 扩展
扩展链接
Github链接
另外一个方法是给你的Post模型 添加访问器和修改器
然后在Nova资源中添加标签字段
一对多才会显示在创建和更新界面,而多对多只能显示在详情页。
:see_no_evil: