2011-11-12 12 views
0

私は重大な問題に遭遇しています。実際には、関係のためのくぼみ命名規則をよく理解していません。私は個人的に具体的な例を挙げてより詳細に文書化されるべきだと思っています。うまくいけば、私はそれを理解するなら、私はいくつかの例を書くことができます。また、誰かがよく理解している場合、よくここでそれを説明することができる場合は、彼はここでそれを説明することができるでしょうくぼみの関係注釈の問題

私は2つのテーブルデータベース内のすべてのテーブル名は、モデル名の小文字です。すべてのフィールド名は、モデルと同じです ポストを属性---->コメント(ポストは、いくつかのコメントを持つことができます)

モデルポスト:

<?php 
/** 
* !Database Default 
* !Table post 
* !HasMany comment, Class:try.models.Comment,Key:postId 
*/ 
class Post extends Model 
{ 
     /** !Column PrimaryKey, Integer, AutoIncrement */ 
     public $postId; 

     /** !Column String */ 
     public $name; 

} 
?> 

モデルコメント:

<?php 
/** 
* !Database Default 
* !Table comment 
* !BelongsTo post 
*/ 
class Comment extends Model { 
     /** !Column PrimaryKey, Integer, AutoIncrement */ 
     public $commentId; 

     /** !Column String */ 
     public $name; 

} 
?> 

しかし、私が次のことをすると、エラーが発生します。

<?php 
Library::import('try.models.Post'); 
Library::import('try.models.Comment'); 

Library::import('recess.framework.controllers.Controller'); 

/** 

* !RespondsWith Layouts 

* !Prefix Views: home/, Routes:/

*/ 

class TryHomeController extends Controller { 



     /** !Route GET */ 

     function index() 
     {    

       $this->flash = 'Welcome to your new Recess application!'; 

       $Post= new Post(5); 
       $Comments=$Post->comment(); 
     } 



} 

?> 

しかし、私は

try.models.Commentがインポートされていない、このエラーを取得しています。クラスのラインであなたPostモデルで

+0

モデルクラスファイルのコントローラ名は何ですか? – ryanday

答えて

1

ルック

** 
* !Database Default 
* !Table post 
* !HasMany comment, **Class:try.models.Comment**,Key:postId 
*/ 

ここでは、完全なクラスパス、try.models.Commentを含めています。含めるクラスとしてコメントを指定する必要があります。ファイル名がClassName.class.phpの規則に従っていることを確認してください。