凹陷关系注释问题

时间:2011-11-12 14:02:31

标签: database orm annotations recess

我遇到了一个严重的问题,事实上我并不理解关系中的凹陷命名约定。我个人认为应该用具体的例子来记录。希望如果我理解它,我可以开始写一些例子。如果有人很好地理解了Recess关系惯例,万一,他可以在这里解释一下,那会很棒

我有两个表,数据库中的所有表名都是模型名称的小写。所有字段名称都与模型的属性相同 发布---->评论(帖子可以有多条评论)

模特职位:

<?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。

1 个答案:

答案 0 :(得分:1)

在Class行中查看Post模型

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

这里包含完整的类路径 try.models.Comment 。您只需指定 Comment 作为要包含的类。确保您的文件名遵循ClassName.class.php约定。