php - phalcon 动态类创建失败并出现错误?

标签 php phalcon

我正在尝试在用户模型中使用模型函数创建动态模型类,但由于某种原因它无法识别类位置。它给我一个错误

Fatal error: Class 'VarEducation' not found

下面是函数

public function partner()
{
    $view_service=new ViewService();
    $partner_vars_check=$view_service->getUserVarPartnerModelCheckMappingArray();
    foreach($partner_vars_check as $partner_key=>$partner_var){
        $table= str_replace("p_","var_",$partner_key);
        $sql = "SELECT * FROM ".$table."
                WHERE id='" . $this->{$partner_key} . "'
                ORDER BY id DESC";
        $partner_obj = new $partner_var();
        $this->{$partner_key} = new \Phalcon\Mvc\Model\Resultset\Simple(null, $partner_obj,
            $partner_obj->getReadConnection()->query($sql));
    }
}

知道是什么原因造成的吗?

查看服务提供的数据如下

public function getUserVarPartnerModelCheckMappingArray() { 

    return array( 
        'p_education' => 'VarEducation', 
        'p_body' => 'VarBody', 
        'p_ethnicity' => 'VarEthnicity', 
        'p_religion' => 'VarReligion', 
        'p_family' => 'VarFamily', 
    ); 
}

最佳答案

无论您做什么,如果您在任何命名空间中隐藏了模型,则必须使用映射数组提供完整的命名空间。比方说,你所有的模型都在 Application\Models 的命名空间中,你必须这样使用它:

public function getUserVarPartnerModelCheckMappingArray() { 

    return array( 
        'p_education' => '\Application\Models\VarEducation', 
        'p_body' => '\Application\Models\VarBody', 
        'p_ethnicity' => '\Application\Models\VarEthnicity', 
        'p_religion' => '\Application\Models\VarReligion', 
        'p_family' => '\Application\Models\VarFamily', 
    ); 
}

并不是说我宁愿切换/大小写如此少量的选项并直接使用模型,而不是手动构建 SQL。

关于php - phalcon 动态类创建失败并出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560740/

相关文章:

PHP 查询使用 WHERE、AND & OR 语句问题

php - 这个 mysql_result 语句的 mysqli 等效项是什么?

php - Phalcon PHP - 创建 "postDispatch"插件来处理响应

准备好的语句中的 PHP 准备好的语句

php - mysql/php 选择行并发送电子邮件不起作用

java - 来自 PHP 文件的 JSON 返回垃圾

php - 如何区分 phalcon 框架 Controller 中的多个按钮操作?例子;提交和更新以及清除按钮

php - 如何在 PHALCON FRAMEWORK 中连接多个表

php - 在 phalcon 框架中的 xmlhttprequest 情况下如何禁用渲染布局?

Phalcon:将 MySQL 数据类型转换为 PHP 数据类型,反之亦然