Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用变量的值在Yii中创建URL_Php_Url_Yii - Fatal编程技术网

Php 如何使用变量的值在Yii中创建URL

Php 如何使用变量的值在Yii中创建URL,php,url,yii,Php,Url,Yii,我正在使用这几行创建更新按钮的URL 'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>0))' 这很好,因为我已经硬编码了值以供批准。现在我必须用另一个变量$approval的值来更改这个0。我怎样才能做到这一点。 i、 我必须给你这个 'url'=>'$this->grid->c

我正在使用这几行创建更新按钮的URL

'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>0))' 
这很好,因为我已经硬编码了值以供批准。现在我必须用另一个变量$approval的值来更改这个0。我怎样才能做到这一点。 i、 我必须给你这个

'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>$approval))' 
以下是表格的附件代码

<form action="index.php">         
<?php $approval = Yii::app()->request->getParam('approval',"0");?>    
<?php echo CHtml::radioButtonList('approval',$approval,array('0'=>'Greetings Approval','1'=>'Contact Approval'),array(
    'labelOptions'=>array('style'=>'display:inline'),
    'onclick' => 'this.form.submit()', 
    'separator'=>''));     ?>
<?php echo CHtml::hiddenField('r', 'testSettings/admin'); ?>     
</form> 

有两种可能的方法可以做到这一点,我想说:

  • 您在模型中创建了一个名为“isApproved()”的方法(“$data”对象的类),该方法根据您的逻辑返回true或false。你可以说

    'url'=>'$this->grid->controller->createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=isApproved()))'
    
  • 如果$approval变量设置在视图中的某个位置(这被认为不是一个好的做法),那么您也可以使用类似

    'url'=> function($data) use ($approval) { return CController::createUrl("/testSettings/update", array("id"=>$data->Id,"approval"=>$approval) }  
    

  • 你试过那个代码吗?@Jon是的,我试过了……它不起作用,它说的是“未定义变量”。但是,当我打印$approval的值时,如果出现可变范围错误,我会得到0或1作为输出。在任何情况下,我们都无法帮助您,除非您显示不起作用的代码——不管是什么相关的代码,而不仅仅是一行。@Jon我附加了代码,只是检查第一个答案,我得到了以下错误。不要使用名为“isApproved”的方法或闭包。