我需要做这样的事情。
$model="MyModel";
$results=$this->"MyModel"->find("all);
所以我需要根据情况调用不同的函数。我怎么能做到这一点?
答案 0 :(得分:1)
那么,你要做的是根据条件调用不同的模型吗?
$model = "Model";
$results = $this->{$model}->find('all');
但是,如果您发现自己需要这样做,可能是因为您的代码组织不正确。您可能想要研究替代方案。
答案 1 :(得分:1)
您可以在控制器操作
中执行此操作class MyControllerController extends AppController
{
function action_name()
{
$this->uses = array(
'MyModel',
'AnotherModel'
);
$this->AnotherModel->find('all');
}
}
答案 2 :(得分:1)
$ model =“Model”; $ results = $ this-> {$ model} - > find('all');
根据CakePHP编码惯例,使用这种方法是可以的,没有更好或更清洁的替代方案。特别是在使用复杂逻辑编码行为时。所以坚持下去,不要担心。