我遇到了一个严重的问题,事实上我并不理解关系中的凹陷命名约定。我个人认为应该用具体的例子来记录。希望如果我理解它,我可以开始写一些例子。如果有人很好地理解了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。
答案 0 :(得分:1)
在Class行中查看Post模型
**
* !Database Default
* !Table post
* !HasMany comment, **Class:try.models.Comment**,Key:postId
*/
这里包含完整的类路径 try.models.Comment 。您只需指定 Comment 作为要包含的类。确保您的文件名遵循ClassName.class.php约定。