gpt4 book ai didi

php - Yii app()->createUrl 用于查看操作

转载 作者:搜寻专家 更新时间:2023-10-31 20:40:22 27 4
gpt4 key购买 nike

我在 News 模块中使用 Gii 生成的 Action 。我有使用 id 参数的正常 View 操作(例如 example.com/news/view/id/1)。
当我使用这行代码时:

Yii::app()->createUrl("news/view",array("id"=>$data->primaryKey))

它生成 example.com/news/1(如果 $data->primaryKey 为 1)。这是不正确的。
当我使用这行代码时:

Yii::app()->createUrl("news/view/id/",array("id"=>$data->primaryKey))

它生成 example.com/news/id/id/1(如果 $data->primaryKey 为 1)。

我很困惑!在第一种情况下,此函数不会生成 id 作为参数名称,而在第二种情况下,它会生成!但在手动添加 id 之后。
我应该怎么做才能使用此功能制作正确的 url 格式?

编辑 news 是一个模块。我将代码行更改为:

Yii::app()->createUrl("news/default/view/id/",array("id"=>$data->primaryKey))

它生成的 example.com/news/default/view/id/1 是正确的,但我不想要那个默认值!

最佳答案

在配置文件中你有这样的东西:

'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),

这会创建 URL 的外观。

创建URL时不需要写id参数,因为是默认的。查看 urlmanager 规则:

Yii::app()->createUrl("news/view/",array("id"=>$data->primaryKey)) => example.com/news/id/1

在模块默认:

Yii::app()->createUrl('/news/default/view', array('id' => $data->primaryKey))

您需要创建 urlmanager 规则...您希望如何查看您的 URL。更多详情 here .

关于php - Yii app()->createUrl 用于查看操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23327850/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com