首页 > 解决方案 > Laravel 查询构建器,将连接表作为嵌套数组

问题描述

我有以下代码。我得到的结果是一个数组。有什么办法可以使它成为嵌套数组?

$contents = RecentView::where('recent_views.user_id', $loggedUser)
                        ->leftJoin('feed_posts','recent_views.post_id','=','feed_posts.id')
                        ->leftJoin('users','feed_posts.user_id','=','users.id')
                        ->paginate(12)->toArray();

结果是:

[id] => 71
[user_id] => 71
[post_id] => 529
[site_id] => 103
[date_time] => 2020-11-05 00:00:00
[title] => Lorem Ipsum
[description] => Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem 
                 Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum 
[image] => PiZ0OCrH.jpg
[hit] => 609
[website_id] => 103
[created_at] => 2012-05-02T00:00:00.000000Z
[name] => Franko
[username] => franko
[email] => test@test.com 

但我需要的结果是:

[recent_views]=>
        [id] => 71
        [user_id] => 71
        [post_id] => 529
        [site_id] => 103
        [date_time] => 2020-11-05 00:00:00
[post]=>
        [title] => Lorem Ipsum
        [description] => Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem 
                         Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum 
        [image] => PiZ0OCrH.jpg
        [hit] => 609
        [website_id] => 103
        [created_at] => 2012-05-02T00:00:00.000000Z
[user]=>
        [name] => Franko
        [username] => franko
        [email] => test@test.com 

有没有办法在 laravel 查询生成器中做到这一点?

标签: mysqllaraveleloquentlaravel-query-builder

解决方案


推荐阅读