2

am:n関係を処理する生成されたフォームがあります。生成されたフォームは、「リスト」を処理するためにdoSave()メソッドをオーバーライドします。

このフォームを他のフォームに埋め込むと、特別なdoSave()モソドが呼び出されることはありません。その結果、m:n関係が保存されないことを除いて、すべてが正常に機能します。

m:nリレーションマニュエルを処理する必要がありますか?

ありがとう

4

1 に答える 1

1

sf 1.4を使用する方が、フォームクラスで使用する方が適切です。

public function configure() {
    $this->embedRelation('relationName'); 
    //other configuration
}

これは、更新/挿入操作では「このように」機能しますが、モデル関係の定義は明確である必要があります。

さらにリレーションを統合するために、sfFormまたはsfDoctrineFormメソッド(特にdoBind、doUpdateObject、saveEmbeddedForms)をオーバーライドして、選択的な削除、特定のデータバインディングなどを追加できます。

このトピックに関する優れたアークティクルはここにあります。symfony1.3ですが、同じパッテンが適用されます。

この種の実装の良い議論は、モジュールのactions.class.phpに変更を加える必要がないため、関連するモジュール(またはそれらのモジュール)を使用してフォームへの依存関係を作成しないようにすることです。

于 2010-03-22T12:17:47.200 に答える