Php 使用数组与另一个表的关系
如何使用与数据库中的另一个表相关的单元格中的数组 用户表:Php 使用数组与另一个表的关系,php,mysql,sql,database-design,yii,Php,Mysql,Sql,Database Design,Yii,如何使用与数据库中的另一个表相关的单元格中的数组 用户表: Name | languages_id Anas | 1,2,3 id | language 1 | English 2 | Arabic 语言表: Name | languages_id Anas | 1,2,3 id | language 1 | English 2 | Arabic 是不是工作?!你知道我可以用yii做什么吗?你可以用在集合中查找 SELECT name, language FROM
Name | languages_id
Anas | 1,2,3
id | language
1 | English
2 | Arabic
语言表:
Name | languages_id
Anas | 1,2,3
id | language
1 | English
2 | Arabic
是不是工作?!你知道我可以用yii做什么吗?你可以用
在集合中查找
SELECT
name,
language
FROM
users
INNER JOIN
languages ON FIND_IN_SET(languages.id, languages_id) != 0
GROUP BY
name
尽管马哈茂德·贾马尔的评论可能是更好的方法。你可以使用在集合中查找
SELECT
name,
language
FROM
users
INNER JOIN
languages ON FIND_IN_SET(languages.id, languages_id) != 0
GROUP BY
name
尽管马哈茂德·贾马尔的评论可能是更好的解决办法。不要这样做
不要将多个项目存储为逗号分隔列
您应该通过在用户
和语言
表之间创建一个新表UsersLanguages
作为多对多表来保留表。像这样阴沉的:
用户
:
UserId
用户名
- 。。。其他细节
语言
:
Name | languages_id
Anas | 1,2,3
id | language
1 | English
2 | Arabic
LanguageId
LanguageName
用户语言
:
UserId
外键引用Users(UserId)
LanguageId
外国kery参考语言(LanguageId)
不要这样做
不要将多个项目存储为逗号分隔列
您应该通过在
用户
和语言
表之间创建一个新表UsersLanguages
作为多对多表来保留表。像这样阴沉的:
用户
:
UserId
用户名
- 。。。其他细节
语言
:
Name | languages_id
Anas | 1,2,3
id | language
1 | English
2 | Arabic
LanguageId
LanguageName
用户语言
:
UserId
外键引用Users(UserId)
LanguageId
外国kery参考语言(LanguageId)
最好使用UserId
和LanguageId
创建一个新表UserLanguages
,并从用户表中删除LanguageId
。@Mahmoud Gamal。。。并在用户表中创建一个“id”字段。嗯。。。好的,我会尽力的,谢谢你。最好用UserId
和LanguageId
创建一个新表UserLanguages
,并从用户表中删除LanguageId
。@Mahmoud Gamal。。。并在用户表中创建一个“id”字段。嗯。。。好的,我试试。谢谢man@Anas无论您使用的是哪种前端应用程序,此方法都会更好,并且会使您所需的工作更轻松。@Anas无论您使用的是哪种前端应用程序,此方法都会更好,并且会使您所需的工作更轻松。