[CDBI] Re: has_a and null foreign keys
"Edward J. Sabol" <sabol-2oVx0MVsMgiP/[email protected]> Tue, 10 Apr 2007 13:59:42 -0400
| Newsgroups | gmane.comp.lang.perl.modules.class-dbi |
|---|---|
| Message-ID | <[email protected]> |
Arshavir Grigorian wrote: > I have 2 tables that are related to each other through has_a > relationship in Class::DBI. However, it can happen that a record in > table1 does not have the foreign key for table2 populated. In this > situation, if I try to call My::Class->retrieve(id => > $id)->foreign_key->column_in_table2(), I get an error because > foreign_key() didn't return a valid object and column_in_table2() > fails. Should I be trying to check whether > foreign_key() returns a valid object and only then call column_in_table2() > or is there another way? Technically, you have a might_have() relationship, but there's no reason why you can't use has_a() really, if that's your preference. The short answer to your question is yes; you need to check whether ->foreign_key() is a valid object (defined() should be sufficient) before calling the ->column_in_table2() method. Hope this helps, Ed