On Fri, Mar 21, 2008 at 03:14:40PM -0700, Damon Snyder wrote:
> Hi Everyone,
> I'm new to the list so bear with me if I'm missing something. I have a  
> foreign key relationship where it's possible that the belongs_to  
> relationship is NULL. See the classes below. When I create a new  
> Smsmessage object e.g. like so:
> 
> my $sms2 = $m->resultset('Smsmessages')->create(
>       {
>               subject => 'Some subject',
>               message => 'a message',
>               channel_id => $chan2->id,
>               #channel_keyword_id => undef,
>               inception => scalar localtime(time()),
>               expiration => scalar localtime(time() + (60*60*24)),
>               sent => 0,
>               retries => 0,
>               provider_id => $prov->id,
>       }
>       );
> 
> If I leave out the channel_keyword_id => undef field, I will get a  
> defined value for $sms2->channel_keyword. If I trace it, the following  
> select ends up happening:
> 
> SELECT me.id, me.okid, me.keyword, me.channel_id FROM channel_keywords  
> me:
> 
> Which returns a value that gets plugged the $sms2->channel_keyword  
> field. Is this the expected behavior?  The default for this field is  
> defined as undef below. If a value is not specified in the create()  
> shouldn't it be given the default value (in this case NULL and not a  
> random record)? I'm not quite sure I understand what is going on, but  
> it seems like the new value is not getting an equivalent of NULL in  
> the new object  unless I explicitly say channel_keyword_id => undef. I  
> understand that it is good practice to set this value to NULL on  
> creation, but I'm wondering if the behavior I'm seeing is to be  
> expected.

That's very odd. Could you try and produce a minimal set of classes that
exhibit this or better still make it happen against the DBICTest schema
in the DBIx::Class dist?

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to