У меня есть статьи, которые могут содержать разные теги. Например 5 штук: (php, html, css, laravel, js) А у меня есть группы, которые тоже могут содержать разные теги. Например 4 штуки: (laravel, php, html, css)
Я уже определил отношения, и это работает. Чего мне еще не хватает, так это привязки статьи к группе.
В Articlecontroller я использую это для синхронизации:
$article->groups()->sync($group->id);
Модель статьи
public function groups()
{
return $this->belongsToMany('App\Group');
}
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
Модель тега
public function articles()
{
return $this->morphedByMany('App\Article', 'taggable');
}
public function groups()
{
return $this->morphedByMany('App\Group', 'taggable');
}
Групповая модель
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
public function articles()
{
return $this->belongsToMany('App\Article');
}
Контроллер
$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)...
как я могу загрузить подходящую статью с вашим кодом?
когда вы говорите посты, вы имеете в виду статьи?