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 ) ) )"
);