0

假设我有经典的 Post 模型,并且我也创建了 Author 模型。

我有一些基本问题:

  1. Post 对象是在 PostsController 中自动创建的吗?

  2. 为了创建 Post whithin AuthorsController 的实例,是唯一的方法

$this->Post = ClassRegistry::init('Post');

请注意,通过执行“$this->Post”,我假设 Post 变量将在这一行中创建。我对吗 ?

先感谢您!

4

2 回答 2

4

查看模型关联。如果您的关联设置正确,您将能够

$this->Author->Post

从 Authorscontroller 访问 Post 模型。如果模型不相关但您仍需要访问它,您可以使用$uses 数组来访问它。

关于你的第一个问题,你是对的。您的所有控制器都扩展了 Appcontroller,它导入了 /lib/ 中的默认蛋糕控制器类。您可以在此处的 cakePHP 控制器文件的第 376 行看到,在加载了 $uses 数组中给出的所有模型之后,加载了名称等于类名的模型。

于 2012-07-01T02:41:57.040 回答
0

您使用数组中的所有模型

您可以访问在uses 属性$this->MmodelName中声明的所有模型- 如果未声明此属性,则默认为与控制器对应的模型 - 即->模型。PostsContorllerPost

在第一次引用时声明$uses为创建/实例化的模型 - 即它们是延迟创建的。

于 2013-01-20T17:43:35.947 回答