Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何传递$node->;nid转换为update语句_Sql_Drupal 7 - Fatal编程技术网

Sql 如何传递$node->;nid转换为update语句

Sql 如何传递$node->;nid转换为update语句,sql,drupal-7,Sql,Drupal 7,我正在尝试使用以下代码更新Drupal7中的一个节点 db_更新('table')) ->字段(数组('column1'=>1)) ->条件('entity_id',2',=') ->执行(); 该语句按预期工作:column1的值更新为1,其中实体_id=2 但是,我试图用当前节点替换2 如果我使用return$node->nid然后按预期返回当前节点。如果我尝试将$node->nid放入查询中,它不会验证 下面的代码不返回任何内容;查询失败了 db_update('table') -&

我正在尝试使用以下代码更新Drupal7中的一个节点

db_更新('table'))
->字段(数组('column1'=>1))
->条件('entity_id',2',=')
->执行();
该语句按预期工作:column1的值更新为1,其中实体_id=2

但是,我试图用当前节点替换2

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

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

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

黑暗中的刺杀:

试一试

在上面几行之前

或者只分配一个变量以返回%node->nid


然后将变量放在$node->nid?

中,我觉得您的代码很好。你能粘贴错误信息吗?能显示你正在使用的完整代码吗?如果您得到任何错误代码,您使用的是哪个钩子,以及您得到的错误代码?Drupal没有任何全局
$node
@kiamlaluno global$node本身不做任何事情……但它应该使$node对象在上述函数的范围内可见,并在后续行中使用一个箭头操作符。在任何情况下都是在黑暗中拍摄。如果我添加
global$node
在Drupal函数中,访问
$node->nid
时会出现错误,因为
$node
不是对象(Drupal不初始化
$node
)。如果函数已经获取
$node
作为参数,PHP可能会返回一个关于用全局变量重写局部变量的错误。OP应该说明它在哪里使用该代码,因为上下文非常重要,而且到目前为止,问题中缺少信息。@Kiamaluno明白了!我已经有一段时间没有和Drupal合作了。。。。希望有一个简单的一行。。。我的D7是如何变化的:)等着看Drupal8,你会想知道这是否仍然是Drupal代码<代码>;)
global $node;