我希望网址管理员使用我的CompanyController处理公司名称的网址。要动态地这样做,我应该从我的数据库中获取公司名称。 现在我有这样的规则(但它不是动态的):
'<alias:(vector|karnasch|tecnomagnete|ruko|bds-maschinen|exact)>' => 'company/view',
(vector | karnasch | tecnomagnete | ruko | bds-maschinen | exact) - &gt;我希望从数据库中获取此行的数据。
我可以获得这些数据(手动建立与db的连接),但也许这是Yii功能帮助下的另一个更漂亮的解决方案。谢谢!
答案 0 :(得分: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
答案 1 :(得分:0)
您随时可以创建custom UrlRule
class。如果您只想解析传入的网址,只需从false
方法返回createUrl()
即可。在parseUrl()
方法中,您在DB中查询公司名称并检查当前URL是否匹配。如果没有,您只需再次返回false
。