Я использую CakePHP 2.0 и MySQL. У меня есть следующие таблицы:
Stores
-id
-name
-suburb_id
Outlets
-id
-name
-suburb_id
Suburbs
-id
-name
-state_id
States
-id
-code
-name
Штаты имеют много пригородов и пригородов имеет много магазинов. Когда я выполняю следующую находку:
$this->Outlet->recursive = 0;
$stores = $this->Store->find("all", array('limit' => 50));
Извлекает массивы данных Outlet, Suburb, Store и State.
[Outlet] => Array
(
[id] => 3
[name] => SMOKEYS KEBABS PIZZA /PIDE
[suburb_id] => 1212
)
[Suburb] => Array
(
[id] => 1212
[state_id] => 1
[name] => Wiangaree
[State] => Array
(
[id] => 1
[code] => ACT
[name] => Australian Capital Territory
)
[Store] => Array
(
[0] => Array
(
[id] => 12814
[name] => Wiangaree General Store
[suburb_id] => 1212
)
)
)
Есть ли какой-либо способ контролировать то, что он получает? По сути, я хотел бы, чтобы Outlets, связанные данные Пригород и связанные данные состояния.
Или я ошибаюсь? Другой вариант, о котором я подумал, будет реализован в виде специальных соединений.