gpt4 book ai didi

php - 获取单个数据库调用中的所有数据并在 Controller 中过滤它 - Codeigniter?

转载 作者:行者123 更新时间:2023-11-29 10:47:47 25 4
gpt4 key购买 nike

我正在开发一个网络应用程序,在页面上,有 3 个不同的部分,分别显示 x、y 和 z 类型的一些数据。

在数据库中,有一个表(userinfo),其中有2列(Data,Type(x,y,z))

当前设计:

在页面加载时,我在 Controller 和模型中有 3 种不同的方法来获取数据 x、y 和 z。例如:getxdata、getydata、getzdata。

方法一:

  $query= $this->db->query("SELECT *
FROM userinfo
WHERE type=x
");

方法2:

  $query= $this->db->query("SELECT *
FROM userinfo
WHERE type=y
");

方法3:

$query= $this->db->query("SELECT *
FROM userinfo
WHERE type=z
");

我在单个页面上对数据库进行了 3 次调用,这可能会导致性能问题。

我正在寻找的是:

$query= $this->db->query("SELECT *
FROM userinfo
WHERE type in ('x','y','z')
");

有什么方法可以像上面的查询一样进行一次调用,然后在 Controller 中我可以使用 for 循环根据 type 列的值过滤数据?(我需要根据数据类型在页面上的不同部分显示数据)

有办法在 codeigniter 中执行此操作吗?

我也欢迎就哪种方法性能友好提出建议!

感谢您的帮助。

最佳答案

是的,您可以使用array_filter过滤 x、y 和 z 类型,例如,

$query= $this->db->query("SELECT *
FROM userinfo
WHERE type in ('x','y','z')
");
return $query->result_array();

您可以使用result来过滤您的类型字段,例如,

$xArr = array_filter($result, function($k) {
return $k['type'] == 'x'; // same for y and z
}

关于php - 获取单个数据库调用中的所有数据并在 Controller 中过滤它 - Codeigniter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44259056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com