在cakePHP框架的一个视图中,我获取用户给出的参数并进行动作调用。这是它的样子:
echo $this->Html->link(__('Save as PDF'),array('action'=>'view_as_pdf',$_POST['data']['Event']['employee'],$_POST['data']['Event']['project'],$_POST['data']['Event']['from'],$_POST['data']['Event']['to'],'ext' => 'pdf'));
* $ _ POST ['data'] ['Event'] ['employee'] *或* $ _ POST ['data'] ['Event'] ['project'] *项目未提供时出现问题
这就是一个合适的网址:
pdf.com/action/16/77/2014-01-01/2014-01-15
看起来像:
pdf.com/action/16/2014-01-01/2014-01-15
我希望它看起来像是:
pdf.com/action/16/null/2014-01-01/2014-01-15
答案 0 :(得分:1)
使用三元运算符替换传递到link
方法的数组中的项目并检查值。基本上,如果没有设置POSTed值/空/你有什么,你需要设置一个默认值。
你可以这样做:
empty($_POST['data']['Event']['project']) ? 'null' : $_POST['data']['Event']['project']
您需要传递一个null字符串,以便将其作为'null'
传递。可能,该link
方法的底层代码忽略了空参数。
这样做会为您提供您想要实现的pdf.com/action/16/null/2014-01-01/2014-01-15
网址。