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();`要有说服力?首先将关系添加到您最近的视图模型中:然后,像这样修改您的查询:对初学者来说太混乱了。还是试试看吧。谢谢你的时间