【问题标题】:Laravel, get result like in Eloquent use Query BuilderLaravel,获得类似 Eloquent 使用查询生成器的结果
【发布时间】:2020-12-25 06:54:04
【问题描述】:

我需要一点帮助。

我有两张表,其中一张可能是关系。

表 1 和表 2。

当我使用 Eloquent 模型获取数据时,我得到如下结果:

Table1Model::with('table2Result')->get()->toArray();

输出

[
    [
        'id',
        'name',
        'table2Result' => [
            [
                'id',
                'name',
                'content'
            ],
            [
                'id',
                'name',
                'content'
            ],
            ...
        ],
        ....
    ]
]

如何使用查询生成器获得相同的结果?

提前感谢您的回复=)

【问题讨论】:

    标签: laravel eloquent laravel-query-builder


    【解决方案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 在左侧,我有模型的结果。在右侧,当我使用联接时,我得到了来自查询生成器的结果。我想像左一样将右部分分组
    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 2021-10-26
    • 2017-05-22
    • 2019-06-22
    • 1970-01-01
    • 2019-07-25
    • 2020-09-24
    • 2018-10-22
    相关资源
    最近更新 更多