首先,抱歉这个有意义的小标题。我没有找到更好的方法来描述这个问题。
我正在开发一个遗留的php应用程序,我们将逐步向docmine迁移到symfony2。 我们有一个包含域名的数据库表。相应的Toplevel-Domain(例如com)也存储在此表中,并充当ToplevelDomain-Table的外键。
第一个问题是该表包含tld两次,首先在域中,第二个作为另一个表的外键。我会通过从域的其余部分删除TLD来解决这个问题。
这里的主要问题是表单提交的处理: 我只想提交整个域名而不需要额外的tld-field。我想我必须实现自定义类型并使用form-events来解析域名。
这是一个非常简单的例子:
Doctrine Model,只是相关部分:
/**
* @ORM\ManyToOne(targetEntity="ToplevelDomain")
* @ORM\JoinColumn(name="toplevelDomain")
**/
private $toplevelDomain;
/**
* Domainname without tld
*
* @ORM\Column(type="string",name="domain_name")
*/
private $domainName;
现在我想要一个带有一个域字段的表单字段,如下所示:
$form->add('domain');
表单应该放入域名和tld中,并在域模型中设置。
如果您对此有任何想法或想法,我将不胜感激。我会继续深入研究并发布解决方案,只要我有一个。
谢谢