Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数组与另一个表的关系_Php_Mysql_Sql_Database Design_Yii - Fatal编程技术网

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无论您使用的是哪种前端应用程序,此方法都会更好,并且会使您所需的工作更轻松。