У меня есть игра с помощью 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, в частности), где этот материал немного отличается)
Возможно, вы не понимаете, что вы здесь, но этот код, похоже, создаст массив с именем org как ключ (правильный) и один набор деталей здания, поскольку они будут перезаписаны с каждой итерацией ... – Sergio
О, вы право, мое плохое. Исправил мой ответ. –
ах да! это работает. Спасибо за вашу помощь. Надеюсь, что существует возможность автоматического возврата модели к вложенным массивам для связанных данных ... nevermind! – Sergio