フォームビルダーにこのコードがあります
->add('user', 'entity', array(
'class' => 'Acme\Entity\User',
'query_builder' => function(EntityRepository $er) use ($options) {
return $er->createQueryBuilder('u')
->where('u.id = :id')
->setParameter('id',$options['my'])
->orderBy('u.name', 'ASC');},))
エコーすると、ビルダー内の$options['my']
ように出力されます。1
フォームを送信すると、User オブジェクトとして NULL が返されます。
しかし、私が使用する ->setParameter('id',1)
と、うまく機能します。
今これを使えば
$options['test'] = 1
ビルドフォーム内で使用
->setParameter('id',$options['test'])
その後も正常に動作します。
しかし、 ->setParameter('id',$options['my']) は直接動作しません。フォームで 1 として正常にエコーされているため、値はその変数にあります。
私は何をすべきか?