0

如何使用来自不同类的字段创建和匹配路由?可能吗?是否有任何自定义路由类?

例如我有这两个类:

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 如您所见,ticketLinkname的字段,也是表的字段File。有没有办法在 symfony 1.4 中创建这样的链接?

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

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

4

1 回答 1

2

IIRC你可以做这样的事情:

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

然后 symfony 应该调用LinkTable::findLinkWithSendTicket方法并将参数传递给它,以便您可以使用它来获取对象。

链接可能会有所帮助:

于 2012-07-22T08:56:14.710 回答