【发布时间】:2012-09-12 06:33:36
【问题描述】:
我在 Drupal 7 中并在 Drupal 根文件夹中实现自定义脚本。然后我尝试用node_load(1234) 和node_save($node) 调用一个节点。在这两种方法之间,我试图DELETE 一些记录(一些数据库行)。但我无法以我发现的任何方式让它工作。
场景是这样的:
$node = node_load($nid);
..
.. Step 1. Some node updates like: $node->title = "New Title!";
.. Step 2. Some row DELETIONS
..
node_save($node);
那么Step 2. 不工作。Step 2. 可能包括行删除方法,例如:
$deleted_row = db_delete('some_table')
->condition('nid', $nid)
->execute();
[or]
db_query("DELETE FROM {some_table} WHERE nid = %d", $nid);
所以我的问题是:
- Drupal
node_load是否锁定加载的node及其所有相关node_save释放之前的字段(行)? - 有什么方法可以删除简单的数据库行(在调用
node_load之后)?
请给点建议。
【问题讨论】:
-
其中一个示例语句来自 Drupal 6,另一个来自 Drupal 7...您使用的是哪个?
-
我提到了
[or]。那么你认为哪一个能解决问题呢? -
第一个如果你使用 drupal7 ,第二个如果你使用 drupal6
-
我知道,你有真正的答案吗?
标签: drupal drupal-nodes drupal-database