使用事例
私は Symfony2 を学習しており、フレームワークを学習するために卓球追跡アプリを作成しています。次のようにエンティティを構成しました。
Player 1..n Result n..1 Match
私のフォームでは、試合のスコアが正しいことを検証したいと思います。
実装
Match
の がArrayCollection()
ありresults
ます。
MyMatchType
とResultType
フォームには次のものが含まれます。
// Form\MatchType
$builder->add('matchType', 'entity', array(
'class' => 'PingPongMatchesBundle:MatchType',
'property' => 'name',
)
)
->add('results', 'collection', array(
'type' => new ResultType(),
'allow_add' => true,
'by_reference' => false,
)
)
->add('notes');
// Form\ResultType
$builder->add('player', 'entity', array(
'class' => 'PingPongPlayerBundle:Player',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('p')
->orderBy('p.firstName', 'ASC');
},
))
->add('score');
問題
スコアを検証できる必要があります。ただし、有効かどうかを知るために my の 2 つのインスタンスを比較する必要があるため、このタイプの検証にアプローチする方法がResult#score
わかりません。
Result#score
2つの異なるインスタンスを比較できるようにするために使用できる方法またはアプローチを提案できる人はいますか? たとえばArrayCollection
、エンティティでを検証できますか?Match