Codeigniter检查控制器中是否存在模型中的功能

时间:2015-08-06 07:59:44

标签: php codeigniter

希望这只是快速的事情,但我找不到有用的东西。

我想从CodeIgniter中的控制器检查模型中是否存在函数,如果存在,则应运行该函数。

我尝试了以下内容:

$comp_model = 'model_comp_'.$comp_code;
$this->load->model('comp/'.$comp_model);

if (function_exists($this->$comp_model->join_comp))
...

if (method_exists($this, $comp_model->join_comp()))
...

甚至只是在if语句中调用该函数

if ($this->$comp_model->join_comp())
...

请帮忙!

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并以这种方式解决了这个问题:

$modelName = 'some_model';
$pageModelPath = APPPATH . 'models' . DIRECTORY_SEPARATOR . $modelName . '.php';
if( file_exists( $pageModelPath ) ){
    require $pageModelPath;
    $model = new $modelName;

    if( method_exists($model, 'myFunction') ){
        $model->myFunction();
    }
}

答案 1 :(得分:0)

您是否只是在所有型号中实施该方法?我认为您应该使用名为join_comp()的受保护方法创建父级,并使所有模型都从该父级派生。您只需添加自动批准'代码到指定的模型。