0

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

4

1 回答 1

0

当你编写一个函数,并想在 URL 中传递一个变量时,你可以这样写:

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

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

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

public function add($pid = null) {

这样做将允许您通过controller/add/4or调用该函数,controller/add并且不会导致错误。

然后,在尝试将它用于重要的事情之前,请确保您验证 $pid 有数据:

if(!empty($pid)) {  //or something similar, depending on your data
于 2012-05-11T14:02:53.787 回答