如何在Code Igniter中向Model发送完整的POST

Con*_*ing 6 php post model codeigniter

在Code Igniter中向模型发送完整帖子的最佳方法是什么?我知道的方法如下:

将表单元素命名为数组,例如.

<input type="text" name="contact[name]">
<input type="text" name="contact[surname]">
Run Code Online (Sandbox Code Playgroud)

然后使用:

$this->Model_name->add_contact($this->input->post('contact'));
Run Code Online (Sandbox Code Playgroud)

另一种方法是将每个元素添加到数组中,然后将其发送到模型中:

<input type="text" name="name">
<input type="text" name="surname">
Run Code Online (Sandbox Code Playgroud)

$contact_array = array('name' => $this->input->post('name'),
                       'surname' => $this->input->post('surname'));
$this->Model_name->add_contact($contact_array);
Run Code Online (Sandbox Code Playgroud)

其中哪一个是最好的做法,是有没有办法直接发送POST整体的模型(或整个形式也许?)

mr.*_*r.b 6

只需将$ _POST变量传递给您想要使用所有POST变量的方法.我看到你的关心,但请放心:$ _ POST被安全过滤功能消毒每当控制器被实例化.

所以:

$this->Model_name->add_contact($_POST);
Run Code Online (Sandbox Code Playgroud)

  • 请注意:从代码点燃doc(https://ellislab.com/codeigniter/user-guide/general/models.html):注意:为了简单起见,我们直接使用$ _POST.这通常是不好的做法,更常见的方法是使用Input Class $ this-> input-> post('title') (2认同)
  • @Leandro嘿,请记住我4年前回答了这个问题,我很确定那时候这是一个公认的做法.:)但是,指出你指出这一点.干杯. (2认同)