am:n関係を処理する生成されたフォームがあります。生成されたフォームは、「リスト」を処理するためにdoSave()メソッドをオーバーライドします。
このフォームを他のフォームに埋め込むと、特別なdoSave()モソドが呼び出されることはありません。その結果、m:n関係が保存されないことを除いて、すべてが正常に機能します。
m:nリレーションマニュエルを処理する必要がありますか?
ありがとう
am:n関係を処理する生成されたフォームがあります。生成されたフォームは、「リスト」を処理するためにdoSave()メソッドをオーバーライドします。
このフォームを他のフォームに埋め込むと、特別なdoSave()モソドが呼び出されることはありません。その結果、m:n関係が保存されないことを除いて、すべてが正常に機能します。
m:nリレーションマニュエルを処理する必要がありますか?
ありがとう
sf 1.4を使用する方が、フォームクラスで使用する方が適切です。
public function configure() {
$this->embedRelation('relationName');
//other configuration
}
これは、更新/挿入操作では「このように」機能しますが、モデル関係の定義は明確である必要があります。
さらにリレーションを統合するために、sfFormまたはsfDoctrineFormメソッド(特にdoBind、doUpdateObject、saveEmbeddedForms)をオーバーライドして、選択的な削除、特定のデータバインディングなどを追加できます。
このトピックに関する優れたアークティクルはここにあります。symfony1.3ですが、同じパッテンが適用されます。
この種の実装の良い議論は、モジュールのactions.class.phpに変更を加える必要がないため、関連するモジュール(またはそれらのモジュール)を使用してフォームへの依存関係を作成しないようにすることです。