有一个配送方式表,关联了一个地区的 id,当我选择配送区域的时候,可以多选入下图 选择完之后如下: 我的地区相关的表有省份,城市,地区三个表,可是我怎么设计与配送方式表之间的关系才可以实现如上效果,求大神指点
create table delivery_plans (
id,
首件,
运费,
续件,
续费
);
create table delivery_plan_areas (
plan_id,
area_id,
area_type
);
create table areas (
id,
name,
type,
parent_id
);
抱歉有些字段没查用英文怎么讲,就中英混合了。
提供两种,不知道能不能满足:
电商业务中运费模板(Entity)与 区域(Entity)之间的多对多关系
把省份、城市、区以树结构的形式放在一张表上,就可与运费模板相关联了
以树结构形式放一张表上方便以后扩展,比如在区后面再加村、街道
zones 把省份,城市,地区放到一张表,代码两位的是省级,4 位是市级,6 位是区/县级,部分数据如下:
id | 名称 | 代码 |
---|---|---|
1 | 北京 | 11 |
2 | 河北 | 13 |
3 | 太原 | 1401 |
4 | 小店区 | 140105 |
5 | 迎泽区 | 140106 |
配送区域数据放一张表:
id | 配送 id | 区域代码 |
---|---|---|
1 | 1 | 11 |
2 | 1 | 13 |
3 | 1 | 140105 |
这样还能找到某区域的全部上级 (postgresql 可支持这种 sql)
select * from zones where '140105' ~ code
希望能对你有点启发
#4 楼 @jasl ^_^,http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html 这个页面年前刚刚解析了一下
不知道表结构是否可行?勿喷
delivery_table 配送方式表
delivery_area_table 可配送区域表