将信息从视图发送到控制器

Posted

技术标签:

【中文标题】将信息从视图发送到控制器【英文标题】:Send info from View to Controller 【发布时间】:2013-04-30 17:33:37 【问题描述】:

我第一次在 cakephp 中为我正在开发的项目工作。在一个视图中,我有一个数组,我希望能够在其中使用控制器函数。

我有信息的数组就是这个

 $linkedinInfo

然后在视图中,我使用表单将数组从视图发送到控制器

       $this->Form->create('LinkedinData', array('controller'=>'Users','type' => 'post', 'action' => 'add'));
       $this->Form->input('User', $linkedinInfo);
       $this->Form->end('submit');

添加被添加是用户控制器中不是我开发的功能。函数是

       public function add() 
        if ($this->request->is('post')) 
          $this->User->create();
          if ($this->User->save($this->request->data)) 
            $this->Session->setFlash(__('The user has been saved'));
            $this->redirect(array('action' => 'index'));
            else 
          $this->Session->setFlash(__('The user could not be saved. Please, try   again.'));
         

我收到错误“数组到字符串转换”,我对在 CakePHP 中工作不是很熟悉,但我不明白为什么我会得到这个,因为 Cookboek 使用了像我这样的所有东西 http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html


编辑:LinkedinInfo 是我通过 Linkedin API 获得的数组,然后我在后面对其进行编辑。这里只是推荐部分的结构示例

[linkedin_recomendations] => Array
    (
        [0] => Array
            (
                [name] => test1
                [relationship] => education
                [text] => Hello world
            )

        [1] => Array
            (
                [name] => test2
                [relationship] => colleague
                [text] => Derp
            )

    )

我要做的是将此信息发送到 UsersController,它将在 Mongodb 数据库中创建一个用户

【问题讨论】:

你的整个表格都搞砸了。如果没有url => array(),您的 create() 中的控制器密钥无效。此外,它的小写users。您的输入字段应该是 Modelname.field_name 并且只包含一个值(除非它的某个下拉列表或多个字段)。 你确定吗?因为我没有看到带有 url==>"array" 的示例。关于输入字段,我的数组是一个多维数组,那是否意味着我必须将每个字段一个一个地放好? 您到底想达到什么目的? 1) $linkedInInfodcontent 是什么样的? 2)$linkedInInfod 来自哪里?是否需要先在表单中显示,还是要将其插入数据库而不需要额外的用户交互?请通过edit 链接将信息添加到您的问题中 @user697110 是的,如果数组包含多个字段,您必须向表单添加多个输入,就像您通常创建表单一样,例如'name' 和 'email' 的单独输入 是的,我很确定。此处只能直接使用操作键。 【参考方案1】:

您尝试提交的数据格式不正确,无法保存。

请检查本书以确保您的数据格式正确。

http://book.cakephp.org/2.0/en/models/saving-your-data.html

【讨论】:

以上是关于将信息从视图发送到控制器的主要内容,如果未能解决你的问题,请参考以下文章

模型视图控制器:将定期显示的信息从控制器发送到视图

如何将信息从 MapKit 注释发送到新的视图控制器

将信息发送到我在导航控制器中返回的视图

将数据从视图控制器发送到另一个

将数组从自定义单元格发送到另一个视图控制器

如何将核心数据信息从表视图传递到视图控制器?