当然我可以添加像add($ pid)这样的参数。并调用如control / add / 4
但是当出现任何验证错误时,它会崩溃并告知
“缺少参数1 for ConsultingDetsController :: add()”
cakePHP默认add()从哪里调用以及如何解决这个问题?
感谢...
答案 0 :(得分:0)
当你编写一个函数,并希望在URL中传递一个变量时,你会这样写:
public function add($pid) {
//...
但是 - 如果这样写的话,任何时候你试图访问这个函数,你必须有这个变量,否则你会得到你提到的错误。
如果您希望能够访问该功能,SOMETIMES会将其传递给变量(例如,当您提交表单时,并不一定需要URL变量),只需设置参数值:
public function add($pid = null) {
这样做可以让您通过controller/add/4
或controller/add
来调用该功能,并且不会导致错误。
然后,在尝试将其用于重要事项之前,请确保验证$ pid是否有数据:
if(!empty($pid)) { //or something similar, depending on your data