2009-12-23 1 views
1

У меня есть игра с помощью codeigniter и попытка разгадать мою активную систему записи и так далее. Я создал несколько таблиц и пытаю запустить присоединиться на них, как, например:Как работать с данными соединения в кодеигнитре?

function GetOrganisationsAndBuildingDetails() 
{ 
    $this->db->select('organisations.organisation_name, 
         organisations.organisation_id, 
         buildings.building_name, 
         buildings.address1'); 
    $this->db->from('organisations')->join('buildings', 'buildings.organisation_id = organisations.organisation_id'); 
    $query = $this->db->get(); 
    return $query->result(); 
} 

В моей базе данных у меня есть одна организация, с двух взаимосвязанных зданий. Вышеприведенный запрос возвращает два объекта (по одному для каждого здания), однако организация дублируется.

  • StdClass объекта ( [organisation_name] => Это пример орг [organisation_id] => 1 [building_name] => испытательный корпус [адрес1] => 123456)

  • StdClass Объект ( [organisation_name] => Это пример орг [organisation_id] => 1 [building_name] => teeeest здание [адрес1] => 123456)

Предполагаю, что я ожидал чего-то вдоль линий одного объекта возврата с серией вложенных объектов для связанных зданий. Это возможно? Если это не так, рекомендуется ли их реорганизовать возвращаемые данные, чтобы я мог легко просмотреть его в представлении? (foreach org, foreach building и т. д. и т. д.).

Извините, если я здесь немного плотный. Im исходя из .net и (LINQ к SQL, в частности), где этот материал немного отличается)

ответ

1

Запрос будет неизбежно возвращать повторяющиеся данные, как вы говорите, вы должны организовать их после того, как вы получите результат, как этот

Таким образом, организации будут «уплотнены» в первом ключе многомерного массива, а на одном уровне глубже вы будете иметь информацию о зданиях. Надеюсь это поможет.

+0

Возможно, вы не понимаете, что вы здесь, но этот код, похоже, создаст массив с именем org как ключ (правильный) и один набор деталей здания, поскольку они будут перезаписаны с каждой итерацией ... – Sergio

+0

О, вы право, мое плохое. Исправил мой ответ. –

+0

ах да! это работает. Спасибо за вашу помощь. Надеюсь, что существует возможность автоматического возврата модели к вложенным массивам для связанных данных ... nevermind! – Sergio

Смежные вопросы