3

私はsymfony2の初心者です。誰かがsymfony2フォームタイプビルダーを手伝ってくれませんか?

エンティティを含むフォームがあり、フォームProductのselectboxを使用して、Userエンティティ内のすべてのユーザーを一覧表示したいと思います。詳細を含むフォームを作成したときProduct、すべての入力は。なしでOKuseridです。ユーザーselectboxは、Productエンティティからの値を選択していませんuserId

namespace ATL\ProductBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Form\FormBuilderInterface;
use Doctrine\ORM\EntityRepository;

class ProductGeneralType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options){       
            $builder->add("name", null, array(
                "label" => "Name",
                "required" => true,
                "attr" => array(
                    "class" => "span5",
                )
            ))->add("description",null,array(
                "label" => "Description",
                "required" => true,
                "attr" => array(
                    "class" => "span8"
                )
            ))->add("visible",null,array(
                "label" => "Visible"
            ))->add("userId","entity",array(
                "label" => "User",
                "class" => "ATLUserBundle:User",
                "query_builder" => function(EntityRepository $er){
                    return $er->createQueryBuilder("u")->where("u.enabled = 1")->orderBy("u.username", "ASC");
                },
            ));
    }

    public function getName(){
        return "product";
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver){
        $resolver->setDefaults(array(
            "data_class" => "ATL\ProductBundle\Entity\Product"
        ));
    }   
}

NameDescriptionおよびVisibleOKであり、データベースから取得します。しかし、エンティティからはUser選択されませんでした。誰かがこれを手伝ってくれますか?userIdProduct

4

1 に答える 1

1

問題を解決しました。Productエンティティでは、マップされたエンティティの名前Userはですusers。に変更しuserIdusers修正しました。

于 2012-12-15T13:04:28.307 に答える