gpt4 book ai didi

php - 编辑 $wpdb->get_results(SQL) 返回的对象

转载 作者:行者123 更新时间:2023-11-29 08:33:04 24 4
gpt4 key购买 nike

我们使用 Wordpress 函数 $wpdb->get_results(SQL) 进行了一次令人讨厌的数据库调用。

收到 PHP 的结果后,我们需要对结果进行一些更改。

谁能告诉我该怎么做:

1) 从 get_results() 返回的对象中删除特定行。

2)更改返回对象中特定行特定列的值。

即如果返回的对象是 $nastyData,我们需要:

1) 从 $nastyData 中删除特定行

2) 更改 $nastyData 中特定行中特定列的值,例如特定行的 $nastyData->name。

有什么想法吗?

我曾考虑过让 get_results() 以数组形式返回数据,但这会在代码中的其他位置(代码期望接收对象的位置)产生问题。

谢谢,麦兹

最佳答案

首先,您的“讨厌的数据库调用”应该进行优化,使其不那么讨厌。更具体地说,只查询您想要的结果,这样您就不必删除后面的内容。这是最好的解决方案。

如果您坚持尝试修改对象,这是一个解决方法。根据the documentation ,当返回对象时,它们以两种方式之一返回:

OBJECT - result will be output as a numerically indexed array of row objects.

OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).

因此,知道结果是一个对象数组,我们可以使用 foreach 构造获取每个单独的实例:

$results = $wpdb->get_results( $nastySQL );

foreach($results as $index => $result)
{
// Change name column to FirstName using copy and delete
$tmp = $result->name;
unset($result->name);
$result->FirstName = $tmp;

// Remove specific row
if( $result->name == "Tom")
{
unset($results[$index]);
}
}

关于php - 编辑 $wpdb->get_results(SQL) 返回的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16021954/

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