in reply to Re^2: Class DBI Problems
in thread Class DBI Problems

When setting up the relationship we examine the foreign class's + has_a() declarations to discover which of its columns reference our cla +ss. (Note that because this happens at compile time, if the foreign + class is defined in the same file, the class with the has_a() must be + defined earlier than the class with the has_many(). If the classes are +in dif- ferent files, Class::DBI should be able to do the right thing). + If no such has_a() declarations can be found, or none link to us, we +assume that it is linking to us via a column named after the moniker() + of our class. If this is not true you can pass an additional third arg +ument to the has_many() declaration stating which column of the foreign +class references us.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

Replies are listed 'Best First'.
Re^4: Class DBI Problems
by godzirra (Acolyte) on May 03, 2005 at 22:20 UTC
    I don't understand what I need to do to get that to work, especially since the example doesn't show anything else about tracks other than the line that specifies the has_many for the tracks.

    Godzirra! Destroying Neo Tokyo since 1954

      Highlighting the very applicable sentence:
      If this is not true you can pass an additional third argument to the has_many() declaration stating which column of the foreign class references us.
      Therefore, you must add a third argument to the has_many declaration (CCopy::Chart->has_many(items => 'CCopy::Chart_Item_XREF');) stating which column (chart_id) of the foreign class (CCopy::Chart_Item_XREF) references the class.

      Is that clearer now?

      -- Randal L. Schwartz, Perl hacker
      Be sure to read my standard disclaimer if this is a reply.