我有symfony项目。我有实体开发人员和字段国家和城市。在FORM中我希望被创建 - 当选择国家时,它出现在城市(这个国家的城市)并且如果开发者有ip - 可以通过ip确定。我怎么做,也许是捆绑或lib?帮助
class Developer extends CustomUser
{
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, unique=false, nullable=true)
* @Assert\Length(min=3, max=255)
*/
protected $email;
/**
* @var string
*
* @ORM\Column(name="country", type="string", length=255, nullable=true)
*/
private $country;
/**
* @var string
*
* @ORM\Column(name="location", type="string", length=255, nullable=true)
*/
private $location;
和表格
class DeveloperPersonalInformationType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('firstname', null, array('label' => 'First Name', 'max_length' => 255, 'required' => false))
->add('lastname', null, array('label' => 'Last Name', 'max_length' => 255, 'required' => false))
->add('email', null, array('label' => 'Email', 'max_length' => 255, 'required' => false))
->add('country', 'choice', array('label' => 'Country', 'max_length' => 255, 'required' => false,
'choices' => $this->getCountries()))
->add('location', 'cities', array('label' => 'Location','required' => false, 'mapped' => true, 'attr' => array('placeholder' => 'Select Location', 'class'=>'cities') ))
答案 0 :(得分:0)
您需要提供更多信息。县域是否映射到国家/地区实体?
有很多方法可以做到这一点,研究更多,然后回来一个你正在尝试的方法和你使用过的代码。
要回答你的问题,我会创建一个包含选择列表的表单,隐藏除了第一个然后onChange使用查询以外的所有查询以向后端发送ajax请求以获取数据,填充下一个选择列表然后取消隐藏/显示它们。