0

我希望 URL 管理器使用我的 CompanyController 处理带有公司名称的 URL。要动态地这样做,我应该从我的数据库中获取公司名称。现在我有这样的规则(但它不是动态的):

            '<alias:(vector|karnasch|tecnomagnete|ruko|bds-maschinen|exact)>' => 'company/view',

(vector|karnasch|tecnomagnete|ruko|bds-maschinen|exact) --> 我想从数据库中获取这一行的数据。

我可以获得这些数据(手动建立与数据库的连接),但也许它是另一个更漂亮的解决方案,借助 Yii 功能。谢谢!

4

2 回答 2

0

好吧,你不需要这样做,你只需要定义正确的模式,例如:

'contact' => 'contact/form',
// other rules should be set before this one
'<alias:[-\w]+>' => 'company/view',

http://www.yiiframework.com/doc/guide/1.1/en/topics.url#using-named-parameters

于 2013-04-15T15:23:16.760 回答
0

您始终可以创建您的自定义UrlRule。如果您只想解析传入的 URL,您可以简单地false从该createUrl()方法返回。在该parseUrl()方法中,您查询数据库以获取您的公司名称并检查当前 URL 是否匹配。如果没有,您只需false再次返回。

于 2013-04-15T18:25:20.853 回答