【问题标题】:How can I modify yii to accept negative record ids?如何修改 yii 以接受负面记录 ID?
【发布时间】:2013-09-22 06:53:19
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: php indexing yii negative-number


    【解决方案1】:

    你必须改变

    <id:\d+>
    

    <id:\-?\d+>
    

    在您的 urlManager 规则中。

    例子:

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

    【讨论】:

    • 非常感谢!完美运行。
    猜你喜欢
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    相关资源
    最近更新 更多