Запустить запросы, не связанные с контроллером в CakePHP
У меня есть контроллер для работы с моделью Job.
Когда я нажимаю /jobs (функция индекса Контроллера заданий), мне нужно выполнить запрос к двум другим таблицам (не присоединенным к заданию), чтобы найти значения, которые нужно вручную вставить в задания перед фактическим отображением индекса.
Я пробовал несколько вещей, но не могу добиться какого-либо прогресса в этом.
Кто-нибудь может мне с этим помочь?
1) выбрать поля из объединения клиентов и пакетов (сложные условия) 2) перебрать результаты и вставить / обновить значения в задании 3) отобразить задания
Заранее спасибо.
Manikandan
2 ответа
Это может также работать, если поместить его в beforeFilter в AppController:
if($this->referer() == '/users/login' && $this->Auth->user()){
$this->loadModel('User');
$this->User->id = $this->Auth->User('id');
$this->User->saveField('last_login', date(DATE_ATOM));
}
Вы можете загрузить несвязанные модели несколькими способами, но, вероятно, это лучший вариант для контроллеров:
$this->loadModel('Customer');
$customers = $this->Customer->find('all');
Альтернативы включают в себя:
ClassRegistry::init('Customer')->find('all');
// or (equivalent)
$customer = ClassRegistry::init('Customer')
$customers = $customer->find('all');
или же:
App::import('Model', 'Customer');
$customer = new Customer();
$customers = $customer->find('all');