2012-04-04 8 views
1

私は次のモデルを持っています:class_userは、データベースclas_userのテーブルの後に置かれています。このモデルを次のコードで呼び出すと、Kohana 3.2:名前にアンダースコアを含むモデルを呼び出す

$class_user = new Model_Class_User(); 

私のモデルが見つかりません。私のモデルファイルでは、クラスの名前は全く同じです(Model_Class_User)。

Kohanaはアンダースコアのモデル名が嫌いですか?

答えて

3

アンダースコアは、アプリ内のファイルの場所を直接反映しています。あなたの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

またORMについて学ぶためにhttp://kohanaframework.org/3.2/guide/orm/modelsを見てください。あなたのテーブルには従来通りの名前がないので、すぐに$_table_name変数を作成する必要があることがわかります。以下に示す例。

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

は完全に合意しました。本当にありがとう。 – Prusprus

+0

それは働きましたか?私はproduct_detailsという名前のテーブルを持っています。その後、Model_Product_Detailを作成し、保護された$ _table_name = 'product_detail'を宣言しました。しかしそれはまだ働きませんでした。 –

関連する問題