Cakephp 如何向add()函数添加一个参数
当然,我可以添加像add($pid)这样的参数。并像control/add/4一样调用。Cakephp 如何向add()函数添加一个参数,cakephp,Cakephp,当然,我可以添加像add($pid)这样的参数。并像control/add/4一样调用。 但当出现任何验证错误时,它会崩溃并告诉 “ConsultingDetsController::add()缺少参数1” 从何处调用cakePHP default add(),以及如何解决此问题? 谢谢…当您编写函数并希望在URL中传递变量时,您可以这样编写: public function add($pid) { //... 但是-如果这样写,任何时候你试图访问这个函数,你必须有这个变量,否则你会得
但当出现任何验证错误时,它会崩溃并告诉
“ConsultingDetsController::add()缺少参数1” 从何处调用cakePHP default add(),以及如何解决此问题?
谢谢…当您编写函数并希望在URL中传递变量时,您可以这样编写:
public function add($pid) {
//...
但是-如果这样写,任何时候你试图访问这个函数,你必须有这个变量,否则你会得到你提到的错误
如果您希望能够访问该函数并有时向其传递一个变量(例如,在提交表单时,不一定需要URL变量),只需设置参数的值即可:
public function add($pid = null) {
这样做将允许您通过controller/add/4
或controller/add
调用该函数,并且不会导致错误
然后,在尝试将$pid用于重要用途之前,请确保您已验证$pid是否有数据:
if(!empty($pid)) { //or something similar, depending on your data
确保您的URL格式为
http://www.example.com/control/add/4
而非http://www.example.com/control/add/
,否则它将抛出表单的操作也必须是control/add/4
,这样当您提交表单时,如果有任何验证错误,它将使用正确的ID重新加载。还考虑使用隐藏字段。