我第一次创建自定义助手。我在我的控制器代码中收到一个错误,我在一个不存在的对象(帮助器)上调用了一个方法。但我相信我的助手" BM"正在加载成功,因为我没有在加载助手时出现任何错误。
Error: Call to a member function mcpGetActiveMerchantID() on a non-object
File: C:\wamp\www\bm\app\Controller\MCPController.php
Line: 412
我已将BMHelper.php放入我的View \ Helper \目录。
<?php
class BMHelper extends AppHelper{
public function mcpGetActiveMerchant(){
return $this->Session->read('Auth.ActiveMerchant');
}
public function mcpGetActiveMerchantID() {
$activemerchant = $this->Session->read('Auth.ActiveMerchant');
foreach($activemerchant as $key => $value) {
$merchant_id = $key;
}
return $merchant_id;
}
}
?>
然后在我的控制器中我有这个:
<?php
class MCPController extends AppController {
public $helpers = array('Html', 'Form', 'Session','BM','Js' => array('Jquery'));
public function walkinadd() {
$test = $this->BM->mcpGetActiveMerchantID(); //Line 412
}
}
?>
HEre再次出错(与我在顶部粘贴的错误相同)
Error: Call to a member function mcpGetActiveMerchantID() on a non-object
File: C:\wamp\www\bm\app\Controller\MCPController.php
Line: 412
任何人都知道出了什么问题?
答案 0 :(得分:1)
Helpers将在Views not Controllers中使用,但您可以这样做:
public function walkinadd() {
$view = new View($this);
$bm = $view->loadHelper('BM');
$test = $bm->mcpGetActiveMerchantID();
}