如何为add()函数添加一个参数

时间:2012-05-11 10:07:36

标签: cakephp

当然我可以添加像add($ pid)这样的参数。并调用如control / add / 4  但是当出现任何验证错误时,它会崩溃并告知
“缺少参数1 for ConsultingDetsController :: add()” cakePHP默认add()从哪里调用以及如何解决这个问题? 感谢...

1 个答案:

答案 0 :(得分:0)

当你编写一个函数,并希望在URL中传递一个变量时,你会这样写:

public function add($pid) {
    //...

但是 - 如果这样写的话,任何时候你试图访问这个函数,你必须有这个变量,否则你会得到你提到的错误。

如果您希望能够访问该功能,SOMETIMES会将其传递给变量(例如,当您提交表单时,并不一定需要URL变量),只需设置参数值

public function add($pid = null) {

这样做可以让您通过controller/add/4controller/add来调用该功能,并且不会导致错误。

然后,在尝试将其用于重要事项之前,请确保验证$ pid是否有数据:

if(!empty($pid)) {  //or something similar, depending on your data