Php Codeigniter活动记录Select语句与非正常语句
是的,我承认这篇文章的主题并不完美。但是我现在不知道该怎么说 我试图做的是避免使用Php Codeigniter活动记录Select语句与非正常语句,php,mysql,codeigniter,activerecord,Php,Mysql,Codeigniter,Activerecord,是的,我承认这篇文章的主题并不完美。但是我现在不知道该怎么说 我试图做的是避免使用$this->db->query($sql)语句类型。我更愿意在活动记录方法中使用此方法,但目前我不确定如何做到这一点 我的查询设置为查看 select loc.distance, loc.user, loc.lat, loc.lon, baseinfo.firstname, baseinfo.lastname, (((acos(sin((".$this->db->escape($lat)."*pi()
$this->db->query($sql)代码>语句类型。我更愿意在活动记录方法中使用此方法,但目前我不确定如何做到这一点
我的查询设置为查看
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
然后它变得更广泛一些,因为我用潜在的左连接
,连接
,等等构建了其余部分
但是这家伙
(((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`
我不知道如何将其与活动记录方法联系起来,我正在寻求一些帮助。有什么想法吗 我最近给出了一个答案,你可以检查一下。我有点理解这个概念,但同时也不是太多,因为它和我想的总体上有点不同。如果我能做到这一点(而且我必须做到这一点),请远离系统文件夹,编辑其中的任何文件,因为我不想在升级CI时引起潜在的冲突(如果他们推出值得升级的重要版本)
$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();