すべてのカテゴリ (テーブル カテゴリから) をラジオ ボタンで表示しようとしています。3 つのカテゴリがありますが、Doctrine クエリが OK の間、ラジオ ボタンは 1 つしか表示されません。
私の FormType コード:
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('categories', 'entity', array(
'class' => 'MyBundle:Category',
'expanded' => true,
'property' => 'title',
'property_path' => false,
));
}
私の小枝コード:
{{ form_widget(form) }}
結果は 3 つのラジオ ボタンを返すはずですが、ラジオ ボタンは 1 つしか表示されません (テーブルの最初のボタン)。
Symfony プロファイラー (デバッグ バー) に表示される Doctrine クエリは完全に実行され、3 行が返されます。
おそらく問題は、追加しなければならなかった「property_path」に起因する可能性があります。それ以外の場合は、例外が発生しました:
Neither property "categories" nor method "getCategories()" nor method "isCategories()" exists in class ...
何か助けてください?
どうもありがとう :-)
オーレル
編集 :
「property_path」を削除するときの、このリクエストに対応する私のdev.logは次のとおりです。
[2012-04-26 07:27:01] doctrine.DEBUG: SELECT t0.id AS id1, t0.last_update AS last_update2, t0.title AS title4 FROM category t0 ([]) [] []
[2012-04-26 07:27:01] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException". [] []
[2012-04-26 07:27:01] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException". [] []
[2012-04-26 07:27:01] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException". [] []
[2012-04-26 07:27:01] request.CRITICAL: Symfony\Component\Form\Exception\InvalidPropertyException: Neither property "categories" nor method "getCategories()" nor method "isCategories()" exists in class "Acme\MyBundle\Entity\Category" (uncaught exception) at /www/vendor/symfony/src/Symfony/Component/Form/Util/PropertyPath.php line 316 [] []
カテゴリテーブルの各行の表示を拒否した理由が本当にわかりません...