Я новичок в CakePHP, но думаю, что начинаю разбираться в нем. Я пытаюсь рекурсивно извлекать информацию из связанной таблицы, но я хочу указать, по каким связанным моделям следует выполнять рекурсию. Приведу пример, демонстрирующий мою цель:
У меня есть модель «Клиент», в которой есть такая информация, как название компании, веб-сайт и т. Д. «Клиент» имеет много «адресов», которые содержат информацию для отдельных контактов, таких как имя контактного лица, улица, город, штат, страна и т. Д. «Клиент» также принадлежит «CustomerType», который просто имеет описательную информацию о категории - имя и описание, например «Дистрибьютор» или «Производитель».
Когда я нахожу в «Заказчике», я хочу получить связанную информацию «CustomerType» и «Address» в виде подмассивов, и это отлично работает, просто настроив ассоциации hasMany и ownTo должным образом. Но теперь вот моя проблема: я хочу получить связанную информацию о штате / стране. Итак, вместо каждой строки массива «Address», имеющей только «state_id», я хочу, чтобы она имела «state» => array («id» = 20, «name» = «New York», ...) и т. Д.
Если я установил для $ recursive более высокое значение (например, 2) в модели «Партнер», я получаю то, что хочу для информации о штате / стране в каждом «Адресе». НО он также повторяется в «CustomerType», и это приводит к тому, что поле «CustomerType» моего объекта «Partner» имеет огромный массив всех объектов Customer, соответствующих этому типу, который может быть длиной в тысячи.
Итак, суть в том, что я НЕ хочу использовать "CustomerType", а только "Address". Есть ли способ настроить это?
Извините за многословный вопрос, заранее спасибо!