0

既存のデータベースに yii フロントエンドをセットアップしようとしています。歴史を振り返ると、負の ID を持つテーブルがいくつかあります。1 からの連続した ID の素晴らしいセットがありますが、大きな正と負の ID を持つ大きなセットがあります。いいえ、理由はわかりません。

リストからこれらのレコードの 1 つを取得するために yii を使用する場合 (すべてバニラ yii)、URL は次のようになりますhttp://myyiipath/index.php/houses/-75313。これにより、「要求されたアクションが見つかりません」というエラー ページが返されます。有効な正の ID が与えられると、レコードの詳細を取得して機能します。

アクションを選択するときにyii が-セパレーターとして使用することを理解しているので、負の値は blank: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 に答える