Я работаю над приложением с обширными связями с базой данных, и мне нужно вернуть определенный объект данных. У меня проблемы с этим. Вот как мне нужно, чтобы это выглядело:
AccommodationGroup =>
array(
['name']=>'Group1',
['AccommodationRoom']=> array(
[0]=> array(
['id']=>1,
['RoomIdentifier']=>'Cabin001',
),
[1]=> array(
['id']=>2,
['RoomIdentifier']=>'Cabin002'
)
)
)
AccommodationRoom относится к лагерю по camp_id. AccommodationGroup связан с AccommodationRoom по номеру Accommodation_group_id.
Как вы можете видеть на примере объекта данных, мне нужно извлечь все группы для определенного лагеря с комнатами каждой группы как вложенный массив группы, и все это ограничено конкретным лагерем.
Я попытался добиться этого, выбрав все подходящие группы с помощью findAllByCampId (), который, конечно, не работает (знал, что не будет, но все равно попробовал). Другая таблица, AccommodationRoomsCamp, является переходной таблицей между AccommodationRooms и Camps. Один из способов сделать это будет:
$ this-> AccommodationRoomsCamp-> findAllByCampId ($ id, array ('group' => 'AccommodationRoomsCamp.accommodation_group_id'))
, нопосение Размещение_группы не сохранено в AccommodationRoomsCamp, поскольку оно уже хранится в таблице AccommodationRoom. Я думаю, что мне нужно сделать больше, чем одну операцию, но я сбит с толку. Немного о новичке. Идеи?