這可能很容易做到,但我現在似乎無法解決這個問題。比方說,在一個CakePHP的應用程序組件,我有一個變量my_model
,其中包含當前正在使用像分量中的對應控制器的型號:根據cakephp查詢中的條件設置模型
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
不是一個對象(所以它被認爲是一個字符串)。