无限级分类 的 模型关系如何定义
Goods 模型 对应的 商品表
CREATE TABLE `g_goods` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'desc',
`cat_id` int(10) unsigned NOT NULL,
`base_price` int(10) unsigned NOT NULL DEFAULT '0',
`state` int(10) unsigned NOT NULL DEFAULT '1',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
一些数据
id | name |
---|---|
1 | 小米8 |
2 | 小米7 |
3 | 小米6 |
4 | MI8 |
模型 GoodsAttrbute 对应 的 商品规格/属性表
无限级分类思想设计的
- 商品ID
- 颜色
- 白
- 颜色
parent_id 为 0 的 是
CREATE TABLE `g_goods_attrbutes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`value` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`parent_id` int(10) unsigned NOT NULL,
`level` tinyint(4) NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
一些数据
id | value | parent_id |
---|---|---|
1 | 4 | 0 |
2 | 2 | 0 |
3 | 3 | 0 |
4 | 颜色 | 1 |
5 | 版本 | 1 |
6 | 内存 | 2 |
7 | 红色 | 4 |
8 | 白色 | 4 |
9 | 4G+64G | 5 |
10 | 8G+128G | 5 |
12 | 尺寸 | 1 |
14 | 4.0寸 | 12 |
15 | 4.5寸 | 12 |
问题
我现在想 的 goods 模型里 定义 一个关系 查出 这件 商品 的属性
所以这里 好像 产生了 一个 ( 两张表间 ) 的 远程 一对一对多 的关系
嗯,这个表 有点奇怪。别介意 啊 。
新手 突发 奇想 就设计了个 神奇
的表
来个大佬 瞧瞧 我这个问题 有解吗。 什么解决办法
推荐文章: