Drupal 节点\加载还是直接查询?
在决定使用Drupal 节点\加载还是直接查询?,drupal,drupal-6,Drupal,Drupal 6,在决定使用node\u load()还是直接编写db\u查询()时,您使用什么样的经验法则 在我现在看到的情况下,我需要在两个节点引用字段上获取一些节点数据和解析数据。这将是对node\u load()的3次调用。在这里的某个时刻,直接用连接构造查询会更有效吗 这是在一个自包含模块中使用的,该模块不会在其他任何地方分发或使用,因此我不认为我需要担心破坏节点修改挂钩(或者我需要吗?) 编辑: 进一步考虑我的问题,node\u load()只有在您有一个节点要抓取时才真正适用(然后可能会深入到节点引
node\u load()
还是直接编写db\u查询()
时,您使用什么样的经验法则
在我现在看到的情况下,我需要在两个节点引用字段上获取一些节点数据和解析数据。这将是对node\u load()
的3次调用。在这里的某个时刻,直接用连接构造查询会更有效吗
这是在一个自包含模块中使用的,该模块不会在其他任何地方分发或使用,因此我不认为我需要担心破坏节点修改挂钩(或者我需要吗?)
编辑:进一步考虑我的问题,
node\u load()
只有在您有一个节点要抓取时才真正适用(然后可能会深入到节点引用,如我的示例中所示)。但是,只要您需要根据某些条件返回多个节点,您就必须使用db\u query
对吗?Drupal有任何抽象API来编写这样的查询吗?不是完整的答案(我自己也不确定),只是一些提示
- node_load()使用的是静态缓存(在Drupal 7中,您甚至可以使用实体_缓存模块使其成为永久缓存)。如果正在加载的节点在同一页面上再次使用,则该调用将是免费的
- 查询CCK表很棘手。模式结构可以根据配置完全更改,例如,当使用单个或多个值时