Php Laravel使用groupBy获取数组的数组
我有一个带有多个Php Laravel使用groupBy获取数组的数组,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我有一个带有多个类别的Laravel表帖子。如何获取按类别分组的所有帖子?我在做类似于Post::where('userID',1)->groupBy('categoryID')。但这只返回一个命名数组的平面数组,如下所示: [1 => ['title'=>'title 1'], 2 => ['title'=>'title3']] [1 => [['title'=>'title 1'], ['title' => 'title 2], 2 => [
类别的Laravel表帖子
。如何获取按类别分组的所有帖子
?我在做类似于Post::where('userID',1)->groupBy('categoryID')
。但这只返回一个命名数组的平面数组,如下所示:
[1 => ['title'=>'title 1'], 2 => ['title'=>'title3']]
[1 => [['title'=>'title 1'], ['title' => 'title 2], 2 => [['title'=>'title 3']]]
如何返回这样的数组:
[1 => ['title'=>'title 1'], 2 => ['title'=>'title3']]
[1 => [['title'=>'title 1'], ['title' => 'title 2], 2 => [['title'=>'title 3']]]
更新:
我目前正在进行连接,然后使用Laravel的集合在php中对其进行排序:
Post::join('categories', ....).where('userID', 1)->get()->groupBy('categoryID');
我能得到我想要的,但不知道是否有更好的方法?您可能想要:
$catsWithPosts = Category::with(array('posts' => function($query){
$query->select('title')->where('userID', 1);
}))->get();
假设您已经声明了Post
和Category
模型之间的正确关系。谢谢,但是userID
在posts
上。这似乎不起作用。哪个表包含category_id?这似乎起作用。但是看看文档,我想知道我是否在根据我的类别数进行n次查询?不,它不是n+
查询,因为它使用了即时加载技术。