我有3个表,提供地理位置数据(简化为这篇文章)。
countries:
id:
name:
country_regions:
id:
country_id: (fk to countries:id)
name:
country_region_cities:
id:
country_region_id: (fk to country_regions:id)
postal_code:
name:当有人去添加地址时,我希望他们选择一个国家并输入他们的邮政编码。由于世界上的多个城市可能有相同的邮政编码,这可以让我们找出它们在哪里。在country_region_cities表中。使用类似于下面这样的查询。
SELECT
crc.id as crc_id
FROM
countries c,
country_regions cr,
country_region_cities crc
WHERE
c.id=231 and
crc.postal_code='02199' and
cr.country_id = c.id and
cr.id = crc.country_region_id将在crc.id上存储在任何需要地址数据的表中,而不是存储完整地址。我不确定如何将这两个字段(country_id和postal_code)添加到表单中,并将country_region_city:id存储在需要它的表的数据库字段中。
我感觉我需要创建一个AbstractType并将其链接到需要存储关系的表单,但是我是否需要为涉及的其他两个表创建更多的AbstractTypes?
发布于 2012-05-22 21:54:09
实现这一点的方法是通过Symfony食谱中描述的自定义数据转换器对象。
http://symfony.com/doc/current/cookbook/form/data_transformers.html
一旦我意识到这一点,我在几个小时内就完成了任务,并且它正在愉快地工作!
https://stackoverflow.com/questions/10632699
复制相似问题