我有可以包含不同标签的文章。例如,5个片段:(php,html,css,laravel,js(我有组也可以包含不同的标签。例如4件:(laravel,php,html,css(
我已经定义了关系并且它有效。我仍然缺乏的是文章与小组的联系。
在文章控制器中,我使用这个来同步:
$article->groups()->sync($group->id);
文章模型
public function groups()
{
return $this->belongsToMany('AppGroup');
}
public function tags()
{
return $this->morphToMany('AppTag', 'taggable');
}
标签模型
public function articles()
{
return $this->morphedByMany('AppArticle', 'taggable');
}
public function groups()
{
return $this->morphedByMany('AppGroup', 'taggable');
}
组模型
public function tags()
{
return $this->morphToMany('AppTag', 'taggable');
}
public function articles()
{
return $this->belongsToMany('AppArticle');
}
控制器
$groups = $user->groups()->latest()->with('tags')->paginate(20);
$mostvotedarticle = Article::where('type', 4)->whereIn('privacy', [1, 3])->orderByVotes()->first(); //show only article with the same tags
$imagearticle = Article::with('comments')->whereIn('type', [4, 5])->where('status', 1)->latest()->paginate(30); //show only articles with the same tags
我现在想比较组的标签和帖子的标签。如果帖子与组具有相同的标签,我想显示帖子。
只需检查相等性
$equal = ($tagsFromPost == $tagsFromGroup) //TRUE if both have the same values but NOT in order
$equal = ($tagsFromPost === $tagsFromGroup) //TRUE if both have same values in SAME order
然后像
if($equal){
<statements>
}
检查错误if(!$equal)...