First, to clarify, I am answering this based upon DBIx::Class and the belongs_to method contained in the DBIx::Class::Relationship submodule.
Regarding null foreign keys, the documentation says:
If the relationship is optional -- i.e. the column containing the foreign key can be NULL -- then the belongs_to relationship does the right thing. Thus, in the example above $obj->author would return undef. However in this case you would probably want to set the join_type attribute so that a LEFT JOIN is done, which makes complex resultsets involving join or prefetch operations work correctly.If I am reading your question correctly, it sounds like this is your difficulty. The solution can be implemented (based on the module documentation):
My::DBIC::Schema::Car->belongs_to(radio => 'My::DBIC::Schema::Radio', 'radio', {join_type => 'left'});
If this doesn't help, post your calling code and we can see if the issue lies there.
In reply to Re: DBIx, using belongs_to on optional field, insert-by-side-effect in foreign table
by kennethk
in thread DBIx, using belongs_to on optional field, insert-by-side-effect in foreign table
by smallvaluesof2
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |