Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 如何在逗号分隔的行值上使用codeigniter_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何在逗号分隔的行值上使用codeigniter

Php 如何在逗号分隔的行值上使用codeigniter,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在为我的项目使用codeigniter并实现搜索。我想从用户表中筛选出拥有汽车的用户。此表的结构如下所示 +-----+----------+---------------------+---------------+ | #id | username | cars | other_details | +-----+----------+---------------------+---------------+ | 1 | MAC | Jagua

我正在为我的项目使用codeigniter并实现搜索。我想从用户表中筛选出拥有汽车的用户。此表的结构如下所示

+-----+----------+---------------------+---------------+
| #id | username |        cars         | other_details |
+-----+----------+---------------------+---------------+
|   1 | MAC      | Jaguar,Porche       | --            |
|   2 | DEV      | Porche,Ferrari,Ford | --            |
|   3 | MONICA   | Ford,Audi           | --            |
+-----+----------+---------------------+---------------+
在前端,我从复选框中选择汽车,这些复选框返回汽车数组,以查找拥有这些汽车的用户,如[“波奇”、“法拉利”]。我无法找到如何让用户在模型中使用codeigniter活动记录的解决方案。请帮助我了解如何获取拥有阵列中可用汽车的用户/行。
提前感谢。

最后,我找到了答案。
首先,我使用逗号(,)对数组进行内爆,然后使用sql查询和正则表达式得到这样的答案

$this->db->sql("select * from users where `cars` NOT REGEXP '$cars'");

这个查询根据我的要求提供数据。

最后,我找到了答案。
首先我使用逗号(,)内爆数组,然后使用sql查询和正则表达式得到这样的答案

$this->db->sql("select * from users where `cars` NOT REGEXP '$cars'");

此查询根据我的要求提供数据。

第一步应该是架构规范化。否则,您将得到
FIND_IN_SET
或其他次优拆分解决方案。由于依赖关系,我将无法规范化此列。我可以在集合中查找集合,但不知道如何在数组中使用它。有两种方法。。。打破
POST
数组,将
LIKE
foreach
一起使用,或者在查询中使用
RLIKE
,因为它们有大量行。所以,我想在模型的数据库端对其进行过滤。第一步应该是模式规范化。否则,您将得到
FIND_IN_SET
或其他次优拆分解决方案。由于依赖关系,我将无法规范化此列。我可以在集合中查找集合,但不知道如何在数组中使用它。有两种方法。。。打破
POST
数组,将
LIKE
foreach
一起使用,或者在查询中使用
RLIKE
,因为它们有大量行。所以,我想在模型的数据库端对其进行过滤。