我有一个多选下拉列表。一世: doc
我只是想知道将它存储到MySQL数据库的最佳方法是: 1)PHP或2)的 serialise()方法,具有不同的符号,如逗号(,)竖线(|)等。
例如,我有 cities 表。它包含 city_id 和 city_name 。 一个人可能会前往一个以上的城市。所以他会选择多个城市。我想以某种方式存储这个选择,以便我可以在需要时使用它们通过mysql连接。
我使用Laravel 5.
答案 0 :(得分:2)
你将有3张桌子:
例如,您的用户(1,Sakuto)已前往(1,比利时)和(2,法国),您的表city_user将包含:
答案 1 :(得分:1)
以规范化方式存储数据的正确方法是为所选城市设置单独的表格。
我不知道您的选择与哪些权限有关,但请说是用户。
用户表
id int
name string
等
userCities表:
id int
userId int
cityId int
城市
id int
name string
因此,如果用户选择三个城市,他或她将在users表中有一行,在userCities中有三行。与将表中的选择作为连接值存储在users表的一列中相比,这样做可以创建更好,更快的查询。要检索用户及其城市,您可以使用userCities和city进行外部联接(以便还可以返回没有城市的用户)。