Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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
Cakephp特殊字段与当前字段列表合并_Php_Cakephp - Fatal编程技术网

Cakephp特殊字段与当前字段列表合并

Cakephp特殊字段与当前字段列表合并,php,cakephp,Php,Cakephp,我在模型中有以下查询: $params = array( 'fields' => array('User.id','User.username', 'User.lat', 'User.lng', 'User.thumbnail_image', 'User.status', "6371 * ACos( Cos( RADIANS( User.lat ) ) * Cos( RADIANS( $lat ) ) * C

我在模型中有以下查询:

$params = array(
                    'fields' => array('User.id','User.username', 'User.lat', 'User.lng', 'User.thumbnail_image', 'User.status', 
                    "6371 * ACos( Cos( RADIANS( User.lat ) ) * Cos( RADIANS( $lat ) ) * Cos( RADIANS( $lng ) - RADIANS( User.lng ) ) + Sin( RADIANS( User.lat ) ) * Sin( RADIANS( $lat ) ) ) AS distance"),

                    'recursive' => 1,
                    'limit' => 15,
                    'offset' => $offset,
                    //'conditions' => array('Friend.user_id' => $user_id, 'Interest.interest' => $interest, 'Favourite.favourite' => $favourite),
                    //'order' => array($order)
                    );

        $find = $this->find('all',$params);

        return $find;
上面生成了如下内容:

Array
(
    [0] => Array
        (
            [User] => Array
                (
                    [id] => 2
                    [username] => hybmg571
                    [lat] => 12
                    [lng] => 22
                    [thumbnail_image] => 
                    [status] => 0
                )

            [0] => Array
                (
                    [distance] => 1083.10516386871
                )
我想把这个距离和用户数组结合起来。 有没有一种方法可以将距离合并到用户密钥中?

使用

(或者,如果模型已经有虚拟字段,
$this->virtualFields['distance']=“…”

$this->virtualFields = array(    
    'distance' => "6371 * ACos( Cos( RADIANS( User.lat ) ) * Cos( RADIANS( $lat ) ) * Cos( RADIANS( $lng ) - RADIANS( User.lng ) ) + Sin( RADIANS( User.lat ) ) * Sin( RADIANS( $lat ) ) )"
);