0

EmbedRelation に where 句を設定することは可能ですか?

$this->embedRelation('treatedStones');

私は、stone_free = 0 の扱いストーンを取得する必要があります。

4

1 に答える 1

1

これは ではできないと思いますがembedRelation、 で行われているように手動で行うことができますsfFormDoctrine

$subForm = new sfForm();

// create a custom query e.g. in `TreatedStoneTable::queryFree($relatedId)` and
// a method to the class of `$this->getObject()` to retrieve free stones 
// e.g. `Class::getFreeTreatedStones()` to call the query
foreach ($this->getObject()->getFreeTreatedStones() as $index => $childObject)
{
  $form = new TreatedStoneForm($childObject);

  $subForm->embedForm($index, $form);
  $subForm->getWidgetSchema()->setLabel($index, (string) $childObject);
}

$this->embedForm('treated_stones', $subForm);

フォームの仕組みの詳細については、ドキュメントを参照してください。

于 2012-08-10T14:04:40.100 に答える