是的,我承认这篇文章的主题并不完美。然而,我不知道如何形容它。
我要做的是避免语句的$this->db->query($sql);
类型。我更愿意在活动记录方法中使用此方法,但我不确定目前如何做到这一点。
my Query被设置为查找
的概念select loc.distance,
loc.user,
loc.lat,
loc.lon,
baseinfo.firstname,
baseinfo.lastname,
(((acos(sin((".$this->db->escape($lat)."*pi()/180)) * sin((`latitude`*pi()/180))+cos((".$this->db->escape($lat)."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$this->db->escape($lon)." - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance`
FROM memb_geo_locations loc
然后当我用潜在的LEFT JOINS
, JOINS
等构建其余部分时,它变得更广泛。
但是这个家伙…
(((acos(sin((".$this->db->escape($lat)."*pi()/180)) * sin((`latitude`*pi()/180))+cos((".$this->db->escape($lat)."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$this->db->escape($lon)." - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance`
我不确定如何将其绑定到活动记录方法中,我正在寻求一些帮助。什么好主意吗?
$this->db->select('loc.distance,
loc.user,
loc.lat,
loc.lon,
baseinfo.firstname,
baseinfo.lastname,
(((acos(sin(('.$this->db->escape($lat).'*pi()/180)) * sin((`latitude`*pi()/180))+cos(('.$this->db->escape($lat).'*pi()/180)) * cos((`latitude`*pi()/180)) * cos((('.$this->db->escape($lon).' - `longitude`)*pi()/180))))*180/pi())*60*1.1515) AS `distance`
');
$this->db->from('loc');
//then all stuffs you need more... like
$this->db->join();
//etc..
$query = $this->db->get('memb_geo_locations');
return $query->result();