Чтобы получить уведомления от UsersController, просто сделайте это:
$notifications = $this->User->Notification->find('all');
По сути, вы можете использовать ассоциацию для доступа к модели уведомлений.
Далее, чтобы ограничить поля, вы можете подойти к этому двумя способами. Сначала нужно установить для свойства $ recursive значение -1.
Используйте эту строку в модели уведомлений, если вы хотите, чтобы это происходило повсюду в вашем приложении. Используйте его в AppModel, если хотите, чтобы это происходило с каждой моделью.
var $recursive = -1;
Вы также можете поместить следующую строку перед вышеупомянутым оператором find ():
$this->User->Notification->recursive = -1;
Второй способ - использовать поведение Containable .
Поместите следующую строку в модель уведомлений (или AppModel для глобального эффекта):
var $actsAs = array('Containable');
Теперь, по умолчанию, он не будет тянуть модель пользователя. Но если вы когда-нибудь хотели, чтобы он передавался вместе с данными уведомления, тогда ваш запрос должен выглядеть следующим образом:
$notifications = $this->User->Notification->find('all', array(
'contain' => array('User')
);
Надеюсь, это поможет!