0

ルートを作成して、異なるクラスのフィールドと一致させるにはどうすればよいですか?出来ますか?カスタムルーティングクラスはありますか?

たとえば、次の2つのクラスがあります。

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のフィールドであり、はテーブルのフィールドです。symfony 1.4でそのようなリンクを作成する方法はありますか?LinknameFile

最初の解決策は、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てパラメーターを渡す必要があるため、symfonyを使用してオブジェクトをフェッチできます。

リンクが役立つ場合があります。

于 2012-07-22T08:56:14.710 に答える