我有两个表:post和pages共享一个标签表(morphtomany)。
我的表和关系:
表:标记id、名称
public function posts()
{
return $this->morphedByMany('App\Post', 'taggable');
}
public function pages()
{
return $this->morphedByMany('App\Page', 'taggable');
}
表:posts id,name,active
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
表:页id、名称、活动
public function tags()
{
return $this->morphToMany('App\Tag', 'taggable');
}
如何从pages.active和posts.active所在的两个表中获取所有标记和计数
我尝试了此查询,但此查询仅返回两种模型中的标记:
Tag::whereHas("posts", function($q) {
$q->where("posts.active", "=", 1);
})->whereHas("pages", function($q) {
$q->where("pages.active", "=", 1);
})->get();
我需要一个查询,可以返回标签,如果存在于其中一个模型,但活跃=1。
1条答案
按热度按时间ajsxfq5m1#
你可以试试