Symfony 1.4路由:来自不同类别的字段
问题描述:
如何创建和匹配来自不同类别的字段的路由? 这可能吗?有没有自定义路由类?Symfony 1.4路由:来自不同类别的字段
例如,我有以下两类:
File:
columns:
name: { type: string(255), unique: true, notnull: true }
...
Link:
columns:
file_id: { type: bigint, notnull: true }
ticket: { type: string(64), notnull: true }
relations:
File:
local: file_id
foreign: id
foreignAlias: links
...
现在假设我要创建这样一个路径:mysite.com/:ticket/:name
正如你所看到的,ticket
是Link
表和name
的字段的字段File
表。有什么方法可以在symfony 1.4中创建这样的链接?
第一个解决方案是更改File
表的主键并将其设置为它的名称。我知道这一点,但我想知道是否有办法通过路由来处理这个问题。
我的目标是当我调用getObject方法时,它返回一个带有发送票据的Link对象,但是也应该检查是否存在与已发送文件名的关系。
答
IIRC你可以做这样的事情:
my_route:
url: /:ticket/:name
class: sfDoctrineRoute
param: { module: yourModule, action: yourAction }
options: { type: object, model: Link, method: findLinkWithSendTicket }
然后symfony中应该调用LinkTable::findLinkWithSendTicket
方法,并传递给它的参数,所以你可以用它来获取对象。
链接可能会有所帮助: