假设我有经典的 Post 模型,并且我也创建了 Author 模型。
我有一些基本问题:
Post 对象是在 PostsController 中自动创建的吗?
为了创建 Post whithin AuthorsController 的实例,是唯一的方法
$this->Post = ClassRegistry::init('Post');
请注意,通过执行“$this->Post”,我假设 Post 变量将在这一行中创建。我对吗 ?
先感谢您!
查看模型关联。如果您的关联设置正确,您将能够
$this->Author->Post
从 Authorscontroller 访问 Post 模型。如果模型不相关但您仍需要访问它,您可以使用$uses 数组来访问它。
关于你的第一个问题,你是对的。您的所有控制器都扩展了 Appcontroller,它导入了 /lib/ 中的默认蛋糕控制器类。您可以在此处的 cakePHP 控制器文件的第 376 行看到,在加载了 $uses 数组中给出的所有模型之后,加载了名称等于类名的模型。
您可以访问在uses 属性$this->MmodelName
中声明的所有模型- 如果未声明此属性,则默认为与控制器对应的模型 - 即->模型。PostsContorller
Post
在第一次引用时声明$uses
为创建/实例化的模型 - 即它们是延迟创建的。