首页 > 解决方案 > Laravel 加入 2 数据库结果集并转换为对象数组

问题描述

我对 PHP 和 Laravel 真的很陌生,到目前为止我设法加入查询两个表......它看起来像这样......

$data = DB::table('users')
            ->join('plans', 'plans.user_id', '=', 'users.id')
            ->get();

上面的查询返回类似这样的内容..

| id | user_id |  name  |  plan_1 | plan_2  | plan_3  |
-------------------------------------------------------
| 1  |    1    |  John  |  resul1 | result2 | result3 |

请注意,user_id, plan_1, plan_2, and plan_3列来自plans table
现在,我想要的是使结果看起来像这样......

$data = [{
    'id' => 1
    'name' => 'John'
    'plan_set' => [{
        'user_id' => 1,
        'plan_1' => 'result1',
        'plan_2' => 'result2',
        'plan_3' => 'result3',
    }]
}]

作为 PHP 的新手,尤其是 Laravel 的新手,我真的不知道如何做到这一点。

标签: arrayslaravelobject

解决方案


推荐阅读