Symfony 1.4路由:来自不同类的字段

时间:2012-07-21 19:07:57

标签: php symfony1 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 如您所见,ticketLink表的字段,nameFile表的字段。有没有办法在symfony 1.4中创建这样的链接?

首先解决方案是更改File表的主键并将其设置为它的名称。我知道这一点,但我想知道是否有办法通过路由处理这个问题。

我的目标是当我调用getObject方法时,它返回一个带有已发送票证的Link对象,但是也应该检查是否存在与发送文件名的关系。

1 个答案:

答案 0 :(得分:2)

你可以做类似的事情:

my_route:
  url: /:ticket/:name
  class: sfDoctrineRoute
  param: { module: yourModule, action: yourAction }
  options: { type: object, model: Link, method: findLinkWithSendTicket }

然后symfony应该调用LinkTable::findLinkWithSendTicket方法并传递给它参数,这样你就可以用它来获取对象。

链接可能会有所帮助: