如何将$ node-> nid传递给update语句

时间:2012-12-28 21:32:53

标签: sql drupal-7

我正在尝试使用以下代码更新Drupal 7中的节点。

db_update('table')
  ->fields(array('column1' => 1))
  ->condition('entity_id', 2, '=')
  ->execute();

该语句按预期工作:column1的值更新为1,其中entity_id = 2.

但是,我正在尝试用当前节点替换2。

如果我使用return $node->nid;,则会按预期返回当前节点。如果我尝试将$node->nid放入查询中,则不会进行验证。

以下代码不返回任何内容;查询失败了。

db_update('table')
  ->fields(array('column1' => 1))
  ->condition('entity_id', $node->nid, '=')
  ->execute();

1 个答案:

答案 0 :(得分:0)

黑暗中的总刺:

global $node;

在上述行之前。

或者只是将一个变量分配给Return%node-> nid

并将变量放在$ node-> nid?

的内部