Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将联接表作为嵌套数组的Laravel查询生成器_Mysql_Laravel_Eloquent_Laravel Query Builder - Fatal编程技术网

Mysql 将联接表作为嵌套数组的Laravel查询生成器

Mysql 将联接表作为嵌套数组的Laravel查询生成器,mysql,laravel,eloquent,laravel-query-builder,Mysql,Laravel,Eloquent,Laravel Query Builder,我有以下代码。我得到的结果是一个数组。有没有办法让它成为嵌套数组 $contents = RecentView::where('recent_views.user_id', $loggedUser) ->leftJoin('feed_posts','recent_views.post_id','=','feed_posts.id') ->leftJoin('users','feed_pos

我有以下代码。我得到的结果是一个数组。有没有办法让它成为嵌套数组

$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 query builder中有什么方法可以做到这一点吗?

不要直接使用连接,使用雄辩的关系方法。在模型中定义关系,而不是使用
->with()
。例如,请查看文档。您能告诉我如何转换此代码:```$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();`要有说服力?首先将关系添加到您最近的视图模型中:然后,像这样修改您的查询:对初学者来说太混乱了。还是试试看吧。谢谢你的时间