当前位置: 首页 > 知识库问答 >
问题:

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

古凌
2023-03-14

我们使用Wordpress函数$wpdb进行了一个讨厌的数据库调用-

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

那么,有谁能告诉我如何:

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

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

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

1)从$nastyData中删除特定行

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

有什么想法吗?

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

谢谢,玛兹

共有1个答案

章增
2023-03-14

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

如果您坚持尝试修改对象,这是一种解决方法。根据文档,当返回对象时,将通过以下两种方式之一返回

对象-结果将作为行对象的数字索引数组输出。

OBJECT_K-结果将作为行对象的关联数组输出,使用第一列的值作为键(重复项将被丢弃)。

因此,知道结果是一个对象数组,我们可以使用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]);
   }
}
 类似资料:
  • 我正在处理wordpress主题,未能在wpdb上使用算术运算- 若我写的是simple,那个么它会在数据库中成功更新 但是如果我对结果使用减号操作,它会抛出致命的错误。 错误 朋友们,请建议我如何解决这个问题。我已经使用结果-

  • 问题内容: 如果一个方法填充/修改了一个对象,是否最好返回该对象或将返回类型保持为空,并且该方法将通过其引用来修改该对象? 我知道这是一个琐碎的问题,但是哪个是最优选的? 问题答案: 我取决于您的样式,但是返回的优点之一是:您可以调用,即可以链接方法调用。 例如,看看这是怎么做的,它允许这样的事情

  • 6.2 操作编辑对象 与 Vim 可视编辑的有关的几个概念对象是缓冲(buffer)、窗口(window)与标签页( tabpage),还有目前较少用到的在命令行参数提供的文件列表(argument list)。VimL 也提供了许多函数以供脚本来控制这些编辑对象。 编辑对象背景知识 很早期的 vi 一次只能编辑一个文件。不过从命令行启动时可以提供多个文件名参数, 首先编辑第一个文件,编辑完后可以

  • 假设每种颜色总是有一辆车。所以我总是在找一辆车,不多也不少。 如何确保始终有一个对象被找到并返回?

  • 假设我让玩家创建团队并创建团队调用团队类的新实例,该实例具有称为成员的数组列表。 现在在主课堂上,我如何在被邀请后将球员添加到团队中?我在team类中有一个addPlayer方法,只需将它们添加到arraylist中,但是如果teams类当前有多个实例(其他玩家创建了团队),它怎么知道要加入哪一个呢? 我在teamLeader的Teams类中有一个变量,在创建实例时设置该变量,如果这可以帮助我编辑

  • 我试图在JavaFX中创建一个可编辑的TableView。我从2个连接的表中获取数据,所以我在TableView中使用对象。 我已经将表和列设置为可编辑,,我尝试对列的执行操作(例如,类似于textfield)。 我还没能解决这个问题。 那么,如何使包含对象的单元格可编辑呢?谢谢你的回答