我有 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 上的任何需要地址数据的表中,而不是存储完整地址。我不确定如何将 2 个字段(country_id 和 postal_code)添加到表单中,并将 country_region_city:id 存储在需要它的表的数据库字段中。
我有一种感觉,我需要创建一个 AbstractType 并将其链接到需要存储关系的表单,但是我是否需要为涉及的其他 2 个表创建更多 AbstractTypes?