помочь с совпадением ключей массива, перезаписывая друг друга - PullRequest
0 голосов
/ 13 января 2011

У меня проблема с массивом, который возвращается из запроса, который я выполняю,

    $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')
);

Я хочу использовать первый идентификатор в моей ссылке, которую я создаю, однако вместо 2 он возвращает 1, так как я предполагаю, что первый идентификатор перезаписывается идентификаторами позже в массиве? Есть ли способ остановить это, я не могу изменить схему базы данных на этом этапе проекта, запрос, который получает это из базы данных, выглядит так,

$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();

1 Ответ

1 голос
/ 13 января 2011

Вам нужно присвоить псевдоним полю, которое вы возвращаете из базы данных.

Вы не указали, какую СУБД вы используете, но есть вероятность, что это MySQL, поэтому вместо использования SELECT * (честно говоря, это ленивый и плохой метод), вы должны указать поля, которые вам конкретно нужны, и можете псевдоним второго поля идентификатора, используя что-то в форме:

SELECT ... <table name>.<field name> AS id_2 ... FROM ...

Вот соответствующая страница справочника MySQL для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...