繁体   English   中英

Laravel模型关系的条件

[英]Where condition on laravel model relationship

我有两个模型。 PostsTags

邮政模型

public function tags()
{
    return $this->belongsToMany('App\Models\Tag', 'tbl_post_tags', 'in_post_id', 'in_tag_id');
}

标签模型

public function posts()
{
    return $this->belongsToMany('App\Models\Post', 'tbl_post_tags', 'in_tag_id', 'in_post_id');
}

我想获取那些具有php标签的帖子。

这是我到目前为止所做的。

搜索控制器

Post::with(['tags'])->skip(0)->take(5)->get();

我从桌子上得到前五个职位。 但是这些列表中有一个帖子没有PHP标记。 因此,根据我的要求,我必须从具有PHP标记的表中获取下一个帖子。

我在laravel的官方网站上找不到任何文档。 如果有人知道答案,将不胜感激。

假设您按名称搜索标签,则代码如下。

Post::with(['tags'])->whereHas('tags', function($query){
    $query->where("name", 'PHP');
})->skip(0)->take(5)->get();
Post::whereHas(['tags' => function($q) use($name){
  $q->where('name', $name); // $name = 'PHP'
}])->take(5)->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM