Это может помочь вам сделать резервную копию секунды на принципах MVC / CakePHP.
Обычно ваши контроллеры должны обрабатывать все аспекты запроса - диспетчеризацию, сбор данных и т. Д. Ваши модели являются точками контроля для вашего уровня данных. И, конечно же, ваши взгляды - это фактическая логика и результат отображения.
Если у вас есть какие-то действия с данными, которые происходят в другом контроллере, я рекомендую перенести эти методы в соответствующую модель данных. Это лучше подходит для модели разделения проблем в Cake. Кроме того, однако, вы можете добавить дополнительную модель к переменной $ users во втором контроллере, которая позволит вам получить доступ ко всем методам в ней.
Одно замечание по поводу использования $: обязательно включите как внешнюю (другую) модель , так и текущую модель. Допустим, вы находитесь в OrangeController и хотите включить модель Apple, и вы (в определении OrangeController):
class OrangeController extends AppController {
var $uses = array( 'Orange', 'Apple' );
// other stuff
}