0

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

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

模型帖子:

<?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 尚未导入。

4

1 回答 1

1

在 Class 行查看您的 Post 模型

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

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

于 2011-11-15T22:39:54.530 回答