sql >> データベース >  >> RDS >> Mysql

Symfony2のコンボボックスの値フィールドとテキストフィールドにデータベースの特定のフィールドを表示します

    IDの代わりに会社名を表示するには、プロパティ オプション (Symfony 2.6以降の場合)または choice_label オプション (Symfony 2.7以降の場合):

    Symfony 2.6以降の場合:

    <?php
    
    namespace Benerite\CompanyBundle\Form;
    
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
    
    class DepartmentType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('company', 'entity', array(
                    'class' => 'CompanyBundle:Company',
                    'property' => 'companyName',
                ))  
                ->add('departmentName')
                ->add('departmentStatus')
            ;
        }
    
        /**
         * @param OptionsResolverInterface $resolver
         */
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'Benerite\CompanyBundle\Entity\Department'
            ));
        }
    
        /**
         * @return string
         */
        public function getName()
        {
            return 'benerite_companybundle_department';
        }
    }
    

    Symfony 2.7以降の場合:

    <?php
    
    namespace Benerite\CompanyBundle\Form;
    
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
    
    class DepartmentType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('company', 'entity', array(
                    'class' => 'CompanyBundle:Company',
                    'choice_label' => 'companyName',
                ))  
                ->add('departmentName')
                ->add('departmentStatus')
            ;
        }
    
        /**
         * @param OptionsResolverInterface $resolver
         */
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'Benerite\CompanyBundle\Entity\Department'
            ));
        }
    
        /**
         * @return string
         */
        public function getName()
        {
            return 'benerite_companybundle_department';
        }
    }
    

    ちなみに、

    の代わりにTwigで
    {{ form_label(form.company) }}
    {{ form_widget(form.company) }}
    

    form_row(form.company)と書くことができます 。



    1. PHPで別のWebサイトの値を選択しながら、ドロップダウンボックスの値を入力するにはどうすればよいですか?

    2. SQLiteDatabaseエラーsqlite:(1)near):構文エラー

    3. Rubyを使用してHeroku上のPostgreSQLデータベースに接続できません-ホスト名を翻訳できませんでした

    4. MySQLWHEREステートメントを使用して特定の行をターゲットにする