Я новичок в CakePHP 2.4 и пытаюсь концептуально понять, на правильном ли я пути, прежде чем начать строить следующее.
По умолчанию, когда Пользователь впервые входит в свою онлайн-учетную запись, он видит Заказы, Счета и Документы для ВСЕХ АККАУНТОВ, к которым у него есть доступ. Используя раскрывающийся список «Учетная запись» и кнопку «Перейти», он может фильтровать заказы, счета и документы только для ОДНОЙ УЧЕТНОЙ ЗАПИСИ.
В настоящее время, до CakePHP, все это обрабатывается в логике запросов. Отношение «пользователь-аккаунт» (N:N) находится в базе данных. Любой активный Account_Id хранится в SESSION. Что такое CakePHP для этого?
Модель выглядит так:
User hasAndBelongsToMany Accounts
Account hasMany Orders
Account hasMany Invoices
Account hasMany Documents
1.) Должен ли я кодировать отношения между пользователями и учетными записями в модели (hasAndBelongsToMany) или в компоненте ACL/Auth (пользователь — это ARO, учетная запись — это ACO)?
2.) Чтобы показать ВСЕ АККАУНТЫ, как лучше всего «запросить» этот фильтр и применить его к каждой модели. Или это делается автоматически Моделью?... или ACL/Auth?
3.) Чтобы показать ОДНУ АККАУНТ, сохранение идентификатора в сеансе по-прежнему является лучшим подходом? ... или мне следует подумать о новом наборе действий в каждом из контроллеров заказов, счетов и документов?