0

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

当使用 yii 从列表中检索这些记录之一(所有 vanilla yii)时,URL 类似于http://myyiipath/index.php/houses/-75313. 然后这会返回一个错误页面,显示“无法找到请求的操作”。当给出有效的肯定 ID 时,它可以检索记录的详细信息。

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

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

4

1 回答 1

1

你将不得不改变

<id:\d+>

<id:\-?\d+>

在您的 urlManager 规则中。

例子:

'<controller:\w+>/<action:\w+>/<id:\-?\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/' => '<controller>/index',
于 2013-09-22T09:13:07.903 回答