Я хотел бы показать в группе все статьи, которые имеют те же теги, что и группа.Например:
В группе есть теги: laravel, php, html.Тогда я бы хотел, чтобы все статьи имели одинаковые теги.Таким образом, все статьи с тегами laravel, php, html.
Не все статьи с одним и тем же тегом, только статьи с одинаковыми тегами.$ tagIdArray - это теги группы.
Я пробовал этот код:
$tagIdArray = [2,3,4];
$article = Article::with('comments', 'tags')->whereIn('privacy', [1, 2])->where('status', 1)
->where(function ($query) use ($tagIdArray) {
return $query->tags->pluck('id')->all() == $tagIdArray;
})
->latest()->paginate(15);
, но всегда получаю сообщение об ошибке:
Undefined property: Illuminate\Database\Eloquent\Builder::$tags
Сообщение модели
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable')->withTimestamps();
}
Tag Model
public function taggable()
{
return $this->morphTo();
}
Taggable Model
public function tag()
{
return $this->belongsTo('App\Tag');
}
EDIT:
Например, если я показываю все группы и хочу использоватьслучайное изображение articel как групповое изображение.Как мне лучше всего это реализовать?
@foreach ($groups as $group)
{{$group->name}}
<img src="-----load random picture from articles that is in this group------" alt="" />
@endforeach