Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将多列特性编组到Laravel中的一个嵌套对象中_Php_Mysql_Laravel_Eloquent_Laravel 7 - Fatal编程技术网

Php 将多列特性编组到Laravel中的一个嵌套对象中

Php 将多列特性编组到Laravel中的一个嵌套对象中,php,mysql,laravel,eloquent,laravel-7,Php,Mysql,Laravel,Eloquent,Laravel 7,我有一个查询生成器,它返回带有选定列的联接表。我设法选择了所需的列,但我想将一些列分组到对象属性中 这是我现在得到的结果 { "id": 2, "name": "Khalid Kuhlman", "email": "P2eoZ6.georgianna.krajcik@example.org", "longitude": 114.782468, "latitude": -8.204574, "created_at": "2020-03-20T15:2

我有一个查询生成器,它返回带有选定列的联接表。我设法选择了所需的列,但我想将一些列分组到对象属性中

这是我现在得到的结果

{
    "id": 2,
    "name": "Khalid Kuhlman",
    "email": "P2eoZ6.georgianna.krajcik@example.org",
    "longitude": 114.782468,
    "latitude": -8.204574,
    "created_at": "2020-03-20T15:22:37.000000Z"
}
这是我所期望的

{
    "id": 2,
    "name": "Khalid Kuhlman",
    "email": "P2eoZ6.georgianna.krajcik@example.org",
    "coordinate": {
        "longitude": 114.782468,
        "latitude": -8.204574
    },
    "created_at": "2020-03-20T15:22:37.000000Z"
}
这是我的查询生成器

    $agents = Agent::leftJoin('users', 'users.id', 'agents.id');

    $agents = $agents->select(['agents.id',
                               'users.name',
                               'users.email',
                               // DB::raw('(SELECT * FROM (
                               //             SELECT X(`users`.`last_position`) AS longitude,
                               //                    Y(`users`.`last_position`) AS latitude
                               //             FROM `users`) position
                               //           ) AS coordinate'),
                               DB::raw('X(`users`.`last_position`) AS longitude'),
                               DB::raw('Y(`users`.`last_position`) AS latitude'),
                               'agents.created_at']);

    if (! empty($q)) {
        $agents = $agents->where('users.name', 'like', "%{$q}%");
    }


    if (! empty($sortBy)) {
        $agents = $agents->orderBy($sortBy, $orderBy);
    }

    $agents = $agents->paginate($perPage);
正如你所看到的,我正试图对专栏进行分组,但我似乎没有运气