我有以下假设场景:
用户可以切换飞机类别,无论他是否感兴趣。 如果用户切换
Helicoper
,将出现以下带有子类别的复选框:
'Chinook', 'Apache', 'Cargo', 'Military'
用户可以以复选框的形式进行选择。
如果用户切换
Airplane
,将出现以下带有子类别的复选框:
'Passenger', 'Ultralight', 'Cessna', 'Cargo', 'Military'
下表用于存储用户(id:1)的选项:
id | name
1 Helicopter
2 Airplane
id | name
1 Chinook
2 Apache
3 Ultralight
4 Cessna
5 Cargo
6 Military
id | aircraft_id | aircraft_class_id
1 1 | 1
2 1 | 2
2 1 | 5
2 1 | 6
3 2 | 3
4 2 | 4
5 2 | 5
6 2 | 6
id | user_id | Aircraft_x_class_id
1 1 1
2 1 2
3 1 3
现在,如果我碰巧有 1000 个用户都选择了每个
aircraft_class
,那么记录会很快堆积起来。
为了防止(可能)在我的联合表中出现不必要的记录,我在
aircraft_model
想到了以下选项,即“全部”。
id | name
....
7 all
id | aircraft_id | aircraft_class_id
....
7 1 | 7
8 2 | 7
因此,当用户选择某种类型的每个
aircraft_class
时,它不会创建所有记录,而只会创建一个声明“全部”的记录
id | user_id | Aircraft_x_class_id
1 1 7
这是减少嵌套选项记录的常见/好事吗?有没有更好的方法?