Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hiển thị các trường cụ thể từ cơ sở dữ liệu trong các trường giá trị và văn bản của hộp tổ hợp trong Symfony2

Để hiển thị tên công ty thay vì id của nó, hãy sử dụng property tùy chọn (dành cho Symfony 2.6 và dưới đây) hoặc choice_label tùy chọn (dành cho Symfony 2.7+):

Đối với Symfony 2.6 và dưới đây:

<?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';
    }
}

Đối với Symfony 2.7 trở lên:

<?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';
    }
}

Và nhân tiện, trong Twig của bạn thay vì

{{ form_label(form.company) }}
{{ form_widget(form.company) }}

bạn có thể viết form_row(form.company) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. $ wpdb-> update hoặc $ wpdb-> chèn kết quả vào dấu gạch chéo được thêm vào trước dấu ngoặc kép

  2. Bắt org.hibernate.TransactionException:lỗi giao dịch lồng nhau không được hỗ trợ khi xóa

  3. Cách tìm nạp bản ghi dựa trên Ngày trong MYSQL

  4. Kết quả PDOStatement ::rowCount khi được sử dụng sau PDO ::commit?

  5. # 1242 - Truy vấn con trả về nhiều hơn 1 hàng - mysql