我遇到的问题是从我正在运行的查询返回的数组
$jobs = array(
array('id'=>2,'salary'=>27000,'benefits'=>'false','benefits_description'=>'','skills'=>'PHP mysql javascript','job_summary'=>'Developing stuff','job_description'=>'Developing stuff','tags'=>'PHP, mysql, web development, web, leeds','created_at'=>1294871124,'updated_at'=>0,'job_titles_id'=>1,'locations_id'=>1,'employers_id'=>4,'id'=>1,'jobtitle'=>'Website Developer','id'=>1,'location'=>'Leeds')
);
我想在我正在构建的链接中使用第一个id,但是不是2而是返回1,因为我假设第一个id后来在数组中被ID覆盖?有没有办法阻止这种情况发生,我无法在项目的这个阶段更改我的数据库模式,从数据库获取此查询的查询如下所示,
$this->db->select('*')
->from('jobs')
->join('job_titles', 'job_titles.id = jobs.job_titles_id', 'left')
->join('locations', 'locations.id = jobs.locations_id', 'left')
->where('jobs.employers_id', $employer_id);
$query = $this->db->get();
return $query->result_array();
答案 0 :(得分:1)
您需要为从数据库中返回的字段添加别名。
你没有指定你正在使用的RDBMS,但是很有可能是MySQL,而不是使用SELECT *
(说实话是懒惰和不好的做法),你应该指定你特别需要的字段并且可以使用以下形式对第二个ID字段进行别名:
SELECT ... <table name>.<field name> AS id_2 ... FROM ...
以下是相关的MySQL manual page以获取更多信息。