【问题标题】:Kohana 3.2: Calling model with underscore in nameKohana 3.2:名称中带有下划线的调用模型
【发布时间】:2012-04-04 20:00:56
【问题描述】:

我有以下模型:以我的数据库 clas_user 中的表命名的 class_user。当我使用以下代码调用此模型时:

$class_user = new Model_Class_User();

它找不到我的模型。在我的模型文件中,该类的命名方式完全相同 (Model_Class_User)。

Kohana 不喜欢带下划线的型号名称吗?

【问题讨论】:

    标签: orm kohana-orm kohana-3.2


    【解决方案1】:

    下划线直接反映应用中的文件位置。这意味着您的 Class_User 模型文件应位于 application/classes/model/class/user.php

    文件名中不应有下划线。

    这里有一些链接可以了解 Kohana 约定和级联文件系统。 http://kohanaframework.org/3.2/guide/kohana/conventions
    http://kohanaframework.org/3.2/guide/kohana/files

    还可以查看http://kohanaframework.org/3.2/guide/orm/models 以了解 ORM。您会立即注意到您需要创建一个$_table_name 变量,因为您的表有一个非常规的名称。示例如下。

    class Model_Class_User extends ORM {
        protected $_table_name = 'class_user';
    }
    

    【讨论】:

    • 完全同意,现在说得通了。非常感谢。
    • 有效吗?我有一个名为 product_details 的表然后我创建了一个 Model_Product_Detail 然后我声明 protected $_table_name = 'product_detail';但它仍然没有工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 2021-12-29
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多