【发布时间】:2017-05-12 07:57:11
【问题描述】:
我创建了三个表:
张贴表
id--title--body
标签表
id--名字
post_tag
post_id--tag_id
后模型
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方法不起作用。
【问题讨论】:
标签: php mysql laravel laravel-5