# Inside MySchema::Result::Club. sub insert { my $self = shift; return $self if $self->in_storage; croak "No venue provided..." unless $self->venue; my $schema = $self->result_source->schema; croak "Venue is invalid..." unless $schema->resultset("Venue")->find($self->venue); $self->next::method(); } sub update { my $self = shift; my %to_update = $self->get_dirty_columns || return $self->next::method(@_); $to_update{venue} || return $self->next::method(@_); croak "Venue is invalid..." unless $schema->resultset("Venue")->find($to_update{venue}); $self->next::method(@_); }