如何修改yii以接受负记录ID?

时间:2013-09-22 06:53:19

标签: php indexing yii negative-number

我正在尝试为现有数据库设置yii前端。根据历史记录,它有几个带有负ID的表 - 从1开始有一组很好的连续ID,但是有一个大的正负ID ID。不,我不知道为什么。

当使用yii从列表中检索其中一个记录(所有香草yii)时,URL就像http://myyiipath/index.php/houses/-75313。然后返回一个错误页面,说“无法找到所请求的操作”。它有效,在给出有效的正ID时检索记录的详细信息。

我理解yii在选择动作时使用-作为分隔符,所以我猜测负值被解释为空白:id。

因此,当没有指定控制器时,我可以修改yii以使用默认操作(带有签名值),还是可以将默认操作指向某个处理程序,或者这都是一场噩梦?

1 个答案:

答案 0 :(得分:1)

你必须改变

<id:\d+>

<id:\-?\d+>
在您的urlManager规则中。

示例:

'<controller:\w+>/<action:\w+>/<id:\-?\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/' => '<controller>/index',