Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在cakephp中,如何在控制器之间连接或交换信息_Php_Cakephp - Fatal编程技术网

在cakephp中,如何在控制器之间连接或交换信息

在cakephp中,如何在控制器之间连接或交换信息,php,cakephp,Php,Cakephp,在CakePHP2.0中,我对如何在控制器之间交换信息感到有点困惑。这基本上就是我想做的 我有一个包含id、名称、路径等的images db表。 保存用户、密码等的用户表 我有一个模型Image.php、一个控制器-ImagesController.php和 视图-View/Images/add.ctp View/Images/index.ctp View/Images/View.ctp 我有一个模型User.php、一个控制器userscoontroller.php和视图 -View/User

在CakePHP2.0中,我对如何在控制器之间交换信息感到有点困惑。这基本上就是我想做的

我有一个包含id、名称、路径等的images db表。 保存用户、密码等的用户表

我有一个模型Image.php、一个控制器-ImagesController.php和 视图-View/Images/add.ctp View/Images/index.ctp View/Images/View.ctp

我有一个模型User.php、一个控制器userscoontroller.php和视图 -View/Users/index.ctp,View/Users/login.ctp

My View/Images/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)从图像更新图像表。如何将一些数据保存到用户表中?我已经看了文档,但仍然有点困惑

  • 您应该在控制器中执行此检查-如果您未登录,请不要让代码落入将使用该视图的分支中。你不应该把这种逻辑放到一个视图中

  • 调用
    $this->User->save($some_data)
    其中
    $this->User
    加载了用户模型,而
    $some_data
    是要插入到用户表中的缩小数据子集

  • 使用,这才是你真正想要的
  • 如果两个模型关联,则可以通过另一个模型访问其中一个模型。例如,如果图像属于用户,则可以通过简单的
    $this->Image->User
    从图像模型访问用户模型。否则,可以使用或临时使用将任何模型包括在任何控制器中