Laravel,获得类似 Eloquent 使用查询生成器的结果
Posted
技术标签:
【中文标题】Laravel,获得类似 Eloquent 使用查询生成器的结果【英文标题】:Laravel, get result like in Eloquent use Query Builder 【发布时间】:2020-12-25 06:54:04 【问题描述】:我需要一点帮助。
我有两张表,其中一张可能是关系。
表 1 和表 2。
当我使用 Eloquent 模型获取数据时,我得到如下结果:
Table1Model::with('table2Result')->get()->toArray();
输出:
[
[
'id',
'name',
'table2Result' => [
[
'id',
'name',
'content'
],
[
'id',
'name',
'content'
],
...
],
....
]
]
如何使用查询生成器获得相同的结果?
提前感谢您的回复=)
【问题讨论】:
【参考方案1】:你可以这样做:
DB::table('Table1Model')
->join('Table2Result', function ($join)
$join->on('Table1Model.K', '=', 'Table2Result.FK')->orOn(...);
)
->get();
祝你好运
【讨论】:
是的,我试过了。但我有未分组的结果 你能告诉我更多请告诉我为什么在哪个上下文中需要构建器,然后我可以告诉你该怎么做。 我想得到与使用模型后相同的结果。这样 table2Result 字段就包含了表 2 中表 1 中对应记录的所有关系 Eloquent 模型工作对我来说很慢,所以我赢了使用查询生成器来获得最佳性能 i.imgur.com/S5SgJdG.png 在左侧,我有模型的结果。在右侧,当我使用联接时,我得到了来自查询生成器的结果。我想像左一样将右部分分组以上是关于Laravel,获得类似 Eloquent 使用查询生成器的结果的主要内容,如果未能解决你的问题,请参考以下文章
laravel 的 Eloquent ORM 查询前50条数据 怎么查
PHP笔记-laravel框架中Eloquent ORM实现增删改查
如何在你已经获得的东西上使用 Laravel Eloquent ::with()?