如何使用来自不同类的字段创建和匹配路由? 可能吗?是否有自定义路由类?
例如,我有这两个类:
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对象,但是也应该检查是否存在与发送文件名的关系。
答案 0 :(得分:2)
my_route:
url: /:ticket/:name
class: sfDoctrineRoute
param: { module: yourModule, action: yourAction }
options: { type: object, model: Link, method: findLinkWithSendTicket }
然后symfony应该调用LinkTable::findLinkWithSendTicket
方法并传递给它参数,这样你就可以用它来获取对象。
链接可能会有所帮助: