【问题标题】:Laravel retrieve data from different tables and show in bladeLaravel 从不同的表中检索数据并显示在刀片​​中
【发布时间】:2021-11-30 04:57:27
【问题描述】:

我有两张桌子 A 和 B

A: id, b_id (这是B的id的值&共享很多查询行), name, balance B:身份证、国家、州、年龄

在我看来,我想从 B 检索具有特定 id 的 A 的数据

喜欢:@foreach ($B_TABLE->id as $b_id) {{ $b_id->sum('balance') }}

在模型/控制器中应该做些什么来实现这一点?

【问题讨论】:

    标签: laravel eloquent laravel-blade


    【解决方案1】:

    试试这个带有连接的 Eloquent 查询:

    $query = TableB::join('table_a', 'table_a.table_two_id', '=', 'table_b.id')
            ->select('table_b.id', \DB::raw("SUM(table_a.balance) as total_balance"))
            ->where('table_a.table_two_id', $id)
            ->groupBy('table_a.table_two_id')
            ->get();
    

    【讨论】:

    • 除此之外不推荐“hasMany”或“belongsToMany”吗?如果我使用这个而不是 belongsTo 方法,会有什么性能差异吗?
    • 由于您需要列的总和,因此分组依据不适用于 Laravel 中的急切加载和关系。
    • 感谢您的信息。不能在刀片中而不是在控制器中计算总和吗?
    • 你可以使用collection。
    猜你喜欢
    • 2020-05-25
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 2016-09-15
    • 2020-08-19
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多