3

すべてのカテゴリ (テーブル カテゴリから) をラジオ ボタンで表示しようとしています。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 [] []

カテゴリテーブルの各行の表示を拒否した理由が本当にわかりません...

4

1 に答える 1

1

問題は、エンティティが正しく設定されていなかったことです。$idフィールドは整数ではなくブール値でした。

于 2012-05-10T12:44:16.323 に答える