【问题标题】: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' 的单独输入
  • 是的,我很确定。此处只能直接使用操作键。

标签: php cakephp view controller


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多