2017-06-16 145 views
1

我要寻找的解决方案来获得的关系表信息的基础例如在信息基于关系数据查询| Laravel 5.4

我有两个型号用户

用户有许多邮政属于用户

我想获得用户的已作用=少塔斯克,并有帖子然后5

请指导我如何在laravel 5.4

+0

您是否尝试过首先阅读有关查询的内容?我相信你可以从[这里](https://laravel.com/docs/5.4/queries)建立你的答案 – SebastianGreen

+0

是的,我阅读文档,但找不到像我上面提到的解决方案。你能让我知道确切的解决方案吗?谢谢 – Sidhu

+0

我不能给你确切的解决方案,但我假设你必须加入邮政表使用一组和一个条款。希望这有助于。 – SebastianGreen

回答

0

我在这里做一些假设有关数据库的结构做和字段名称,但这应该让你关闭:

User::whereHas('posts', function($query) { 
     $query->select('posts.*') 
      ->join('users', 'posts.user_id', '=', 'users.id') 
      ->groupBy('users.id') 
      ->havingRaw('sum(posts.id) < 5') 
})->having('role', '=', 'tasker')->get(); 

可能不准确,但这是它的要义。

+0

感谢您的回复 您的代码帮助了很多 – Sidhu

+0

在这里,我是如何做到的。 (DB :: raw('COUNT(posts.id)as total_posts'),'users。*') - > leftJoin('posts','users') - 'users.id','=','posts.user_id') - > groupBy('users.id') - > having('total_posts','<',5) - > where('users。角色','=','tasker'); – Sidhu