[Dbix-class] Updating foreign key does not reload related object

brett gardner brett at clientcomm.com.au
Thu Aug 2 00:00:19 GMT 2007


I couldn't find in the documentation that this was possible. Is it also 
now possible to do

my $obj = $schema->resultset('Event')->create({venue=>$existing_venue});

Matt S Trout wrote:
> On Wed, Aug 01, 2007 at 01:00:03PM +1000, brett gardner wrote:
>   
>> I have a row object which has a field "venue_id" which is a foreign key 
>> used in a belongs_to relationship "venue".
>>
>> When I do the following.
>>
>>    $old_venue = $event->venue;
>>    $event->venue_id($new_id);
>>    $event->update;
>>    $new_venue = $event->venue;
>>
>> "$new_venue" is not the venue with primary key "$new_id", it is the same 
>> row as "$old_venue".
>>
>> Is this meant to update automatically or is this a feature not yet 
>> implemented?
>>     
>
> $obj->venue($new_venue);
>
> will do the right thing. Don't bypass the abstraction if you want to use
> the abstraction later :)
>
>   



More information about the Dbix-class mailing list