You can of course do a node_load($nid). But if you need to manually load data (e.g., so you can do a custom select), then, yes, you need to do a join on {node_revisions}. Examples are in the core modules--searc for "{node_revisions}". I don't see this in the module update instructions--I'll add in a note (unless on second look I find it already there). ----- Original Message ----- From: "Scott McLewin" <drupal@mclewin.com> To: <development@drupal.org> Sent: Sunday, January 08, 2006 6:52 PM Subject: [development] Field "body" no longer part of node table in 4.7 - looking for guidance on what to change
Good evening.
I'm busy upgrading the one module I maintain (wishlist.module) to Drupal 4.7. It has been pretty straightforward, following http://drupal.org/node/33338 helped a lot. The forms api conversion was simple with the help of the http://www.lullabot.com/formupdater. Thanks for the work that went into both of these.
I've gone through the upgrade steps and rummaged around drupal.org looking for some help with a problem. I can save, delete and edit a wishlist node with no problem. But my custom display for showing wishlist items in a table (http://mclewin.com/wishlist/2 [4.6 version]) spews SQL errors. Looking at the table schema, it appears that database structure was changed to remove the field "body" from the NODE table. A little digging found a "body" field in the NODE_REVISONS table. Before I rework my code to add another join between NODE and NODE_REVISIONS I thought I would double check that doing so is considered 'correct' - what is the intended way to retrieve the body text of the node in Druapl 4.7?
Here is the error I'm getting:
* user warning: Unknown column 'n.body' in 'field list' query: SELECT n.nid, n.title, n.uid, w.item_priority, w.item_est_cost, w.item_currency, n.body, n.changed, w.item_quantity_requested, w.item_url1, w.item_url2 FROM node n LEFT JOIN wishlist w ON n.nid = w.nid WHERE n.type='wishlist' AND n.uid=1 AND w.item_is_public ORDER BY n.title ASC LIMIT 0, 10 in
/raid/home/www-drupaldev/drupal-4.7.0-beta2/includes/database.mysql.inc on line 108.
Scott