我有一个具有模型作业的作业控制器。
当我点击 /jobs(作业控制器的索引功能)时,我需要在其他 2 个表(未加入作业)上运行查询,以查找要在实际显示索引之前手动插入作业的值。
我已经尝试了几件事,但似乎无法在这方面取得任何进展。
谁能帮我这个?
1) 从客户和包裹的连接中选择字段(复杂条件) 2) 遍历结果并在作业中插入/更新值 3) 显示作业
先感谢您。
马尼坎丹
我有一个具有模型作业的作业控制器。
当我点击 /jobs(作业控制器的索引功能)时,我需要在其他 2 个表(未加入作业)上运行查询,以查找要在实际显示索引之前手动插入作业的值。
我已经尝试了几件事,但似乎无法在这方面取得任何进展。
谁能帮我这个?
1) 从客户和包裹的连接中选择字段(复杂条件) 2) 遍历结果并在作业中插入/更新值 3) 显示作业
先感谢您。
马尼坎丹
您可以通过多种方式加载不相关的模型,但这可能是控制器的最佳方式:
$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');
如果放在 AppController 中的 beforeFilter 下,这也可以正常工作:
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));
}