在重定向上传递参数,最后一个id保存在Yii中

时间:2014-03-14 16:48:28

标签: php yii

是否可以将参数传递给重定向函数?

我试过

$this->redirect(array(Yii::app()->request->urlReferrer, 'id' => Yii::app()->db->getLastInsertId());

id是最后保存的ID。

在获取lastinsertid时,是否有更好的方法,避免查询数据库。不是保存命令的返回值吗?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以阅读documents

public void redirect(mixed $url, boolean $terminate=true, integer $statusCode=302)
  

$ url :要重定向到的网址。如果参数是数组,则第一个   element必须是控制器操作的路由,其余的是GET   名称 - 值对中的参数。

所以你可以提供一个字符串,如:

$this->redirect('http://www.google.com');

array()

$this->redirect(array('controller/action' , array('id' => $id , 'anotherParameter' => $id2)) );

答案 1 :(得分:1)

我会避免使用getLastInsertId(),因为它可能并不总是返回您之前创建的内容。如果您使用的是 Active Record ,则会在保存此模型后填充模型的ID属性。

所以你可以做到:

$redirectId = $model->id;