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

How do you do that? I looked in the docs, but I'm guessing I missed something, because I'm still not clear on how that works.

Godzirra! Destroying Neo Tokyo since 1954

Replies are listed 'Best First'.
Re^3: Class DBI Problems
by merlyn (Sage) on May 03, 2005 at 21:53 UTC
    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.

      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.