gpt4 book ai didi

php - 从数据库中获取多个字段到数组

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

我在我的 Symfony 项目中编写了一个 api 调用,它使用下面定义的查询从我的实体返回所有字段。

现在,我只需要定义三个字段,如“id”、“name”、“value”,并从当前存储在数据库中的字段中提取值。

public function getChartData() {
$myResults = $this->getMyRepository()
->createQueryBuilder('s')
->groupBy('s.totalCollected')
->orderBy('s.id', 'ASC')
->getQuery()
->getArrayResult();

$result = array("data" => array());

foreach ($myResults as $myResult => $label) {
$result['data'][$schoolResult] = $label["id"];
$result['data'][$schoolResult] = $label["name"];
$result['data'][$schoolResult] = $label["totalCollected"];
}
}

问题是它只返回 totalCollected 字段。

其中一个错误是调用数组上的成员函数 getId() 等等,我想不出从数据库中提取数据的方法...

最佳答案

我在你的代码中看不到 $schoolResult 的来源,但让我们猜猜它是某种字符串键。

请注意,您尝试在同一个键上设置 3 个值,因此只保留最后一个。

看:

$a = array();
$a["key"] = 4;
$a["key"] = 6;

很容易看出 $a["key"] 将包含 6 而不是 4 或两者。

当你这样做时:

foreach ($myResults as $myResult => $label) {
$result['data'][$schoolResult] = $label["id"];
$result['data'][$schoolResult] = $label["name"];
$result['data'][$schoolResult] = $label["totalCollected"];
}

您覆盖了 $result['data'][$schoolResult] 中的数据,因此只尝试将 totalCollected 作为最后一个设置。

为了解决这个问题,您可以使用:

foreach ($myResults as $myResult => $label) {
$result['data'][$schoolResult]["id] = $label["id"];
$result['data'][$schoolResult]["name"] = $label["name"];
$result['data'][$schoolResult]["totalCollected"] = $label["totalCollected"];
}

希望对您有所帮助!

关于php - 从数据库中获取多个字段到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53923375/

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