我有一个表,其中包含一列浏览器版本.我只是想从记录集中了解每种类型的浏览器有多少.所以,我需要最终得到这样的结果:总记录:10; Internet Explorer 8:2; Chrome 25:4; Firefox 20:4.(所有加起来都是10)
这是我的两便士:
$user_info = Usermeta::groupBy('browser')->get();
Run Code Online (Sandbox Code Playgroud)
当然,它只包含3个浏览器,而不是每个浏览器的数量.我怎样才能做到这一点?
我试图让带有约束的Eager-Loading嵌套关系起作用.每个人似乎都给出了热切加载嵌套关系的相同示例:
$users = User::with('posts.comments')->get();
Run Code Online (Sandbox Code Playgroud)
我想做的是获取与给定id的帖子相关的所有用户.但与此同时,我也希望得到与该帖子相关的评论.
在4.1中,我实现了后者,我可以这样做:
$comments = Comment::whereHas('post', function($query) { $query->whereId(1); })->get();
Run Code Online (Sandbox Code Playgroud)
有没有办法结合这两个并约束嵌套关系?
背景
我有一个列表模型属于并有许多订阅者.当然还有一个属于并拥有许多List的订阅者.
问题
我想从多个列表中急切加载所有订阅者.但是,我只对不同的订阅者感兴趣,因为订阅者可以拥有并且确实属于多个列表.
我的尝试
我使用过这种distinct()方法,但这并没有产生任何乐趣.我也可以遍历结果集来手动切出重复项.只是想知道是否有办法让Laravel为我做肮脏的工作?
码
$lists = Input::get('listsarray');
$addresses = Addressbook::with(array('subscribers' => function($query)
{
$query->where('active', '=', 1);
// $query->distinct(); //This didn't work
}))->whereIn('id', $lists)->get();
Run Code Online (Sandbox Code Playgroud)