我创建了三个表:
邮政表
ID - Headers - 体
标签表
ID - 名
post_tag
POST_ID - TAG_ID
Post Model
public function tags()
{
return $this->belongsToMany('App\Tag');
}
标签模型
public function posts()
{
return $this->belongsToMany('App\Post');
}
这是一对多关系
我想在更新帖子时添加新帖子和更新标签时存储标签,我使用bootstrap-tagsinput插件,添加帖子,我使用此方法存储新标签:
public function storeTags($post, $tags)
{
$tagInputArr = explode(',', $tags);
$tagArr = [];
foreach ($tagInputArr as $tag) {
$tagArr[] = new Tag(['name' => $tag]);
}
$post->tags()->saveMany($tagArr);
}
$ post是新的post对象,$ tags是来自$ request的标记字符串 .
对于更新帖子,我有一个问题,当我查看编辑帖子页面时,从数据库中选择默认标签,如果我想添加新标签,则storeTags方法不起作用 .
1 回答
尝试在
storeTags()
这样做在
updateTags()
在你的标签的html文件中,使用它
在
sync()
方法中更新不需要第二个参数 .我建议你watch整个标签创建播放列表