Howdy,
I've been reading Pro Drupal Development and reading through the Handbooks but no where can I find an explanation of how Drupal Nodes handle many to many relationships. I understand most aspects of MySQL and I can see how I might force these relations with a relationship table and jimi it into the module's forms. I guess my problem is that I haven't seen that recommended and I'm not sure how the Drupal community suggests this should be handled.
For example: An event node can take place at many location nodes and vice versa.
Taxonomy is still confusing to me, should I try to relate the event to that location by making the name of the location a taxonomy and having that taxonomy name relate to both the event node and the location node?? I'm probabably making this harder than it really is :-P
Any help on this relational database question is most certainly appreciated!!
Be Well,
-R.J.
Comments
This may or may not be your
This may or may not be your answer, but take a look at the relativity module http://drupal.org/project/relativity
I've set up a system of
I've set up a system of events and locations for my site.
There's only going to be a dozen or so locations, and they won't be changing. So taxonomy is well-suited for this.
An event can belong to several locations (have taxonomy terms), and lots of events can have the same term.
After I set this up I realized I wanted a node describing each location. I've done this with a sticky node so it shows at the top of taxonomy listings.
An alternative I've used for a different part of the site is to have two different content types, and taxonomy to bind them. (This is for different projects and news items related to them.) This means there's a bit of redundancy with project nodes *and* taxonomy terms. But again, they're things that aren't changing very often if at all. I used theming on the location node type to display a view filtered by taxonomy term.
While researching this, I saw a technique using a nodereference CCK field, which is probably worth looking in to as well.