这可能很容易做到,但我现在似乎无法理解它。假设在 cakephp 应用程序的一个组件中,我有一个变量my_model
,其中包含当前正在使用该组件的相应控制器的模型,例如:
function TestComponent extend Object
{
var $my_model; // can be either User, or Person
function test()
{
$myModelTemp = $this->my_model;
$model = $myModelTemp != 'User' ? $myModelTemp.'->User' : 'User';
$this->$model->find('all');
}
}
正如您在上面的函数中看到的那样,test()
我正在尝试做的是根据 的值调用正确的模型my_model
。因此,根据条件,我的查询将是:
$this->Person->User->find('all');
或者
$this->User->find('all');
当我像上面那样做时,我收到一条错误消息Fatal error: Call to a member function find() on a non-object
。换句话说,该错误意味着Person->User
不是一个对象(因此,它被视为一个字符串)。