我对如何在CakePHP 2.0中的控制器之间交换信息感到困惑。这基本上就是我想要做的。
我有图像db表,其中包含id,name,path等。 用户表,包含用户用户,密码等
我有一个模型Image.php,一个控制器 - ImagesController.php,和 views - 查看/图像/ add.ctp查看/图像/ index.ctp查看/图像/ view.ctp
我有一个模型User.php,一个控制器 - UsersController.php和视图 - View / Users / index.ctp,View / Users / login.ctp
我的视图/图片/ index.ctp列出了所有已上传的图片,View / Images / add.ctp允许任何人上传图片
View / Users / login.ctp允许用户登录,如果信息正确,则会将用户发送到View / Users / index.ctp
1)如何才能使View / Images / add.ctp仅供登录的用户访问。我应该将它们重定向到带有用户会话信息的View / Images / add.ctp并检查数据是否已设置或它在CakePHP中是如何工作的?
2)如果我使用$ this-> Image-> saveAll($ data_s)从图像更新图像表。如何将一些数据保存到用户表中?我看过文档但有点困惑。
答案 0 :(得分:2)
$this->Image->User
从图像模型访问用户模型。否则,您可以使用$uses
attribute在任何控制器中包含任何模型,也可以暂时使用loadModel
method。答案 1 :(得分:0)
您应该在控制器中执行此检查 - 如果您尚未登录,请不要让代码放入将使用该视图的分支中。你不应该把这种逻辑放在一个视图中。
调用$this->User->save($some_data)
$this->User
其中加载了用户模型,$some_data
是要插入到用户表格中的数据缩小的子集。