X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/762f8a97338181a9ecb01c20eed52215b470212d..7bbdbf2bd966e6317cff568ac6f60936b51d8df7:/SL/DB/Helper/Manager.pm diff --git a/SL/DB/Helper/Manager.pm b/SL/DB/Helper/Manager.pm index 529053338..d456e76b0 100644 --- a/SL/DB/Helper/Manager.pm +++ b/SL/DB/Helper/Manager.pm @@ -18,8 +18,20 @@ sub find_by { return $class->get_all(query => [ @_ ], limit => 1)->[0]; } +sub find_by_or_create { + my $class = shift; + + my $found; + eval { + $found = $class->find_by(@_); + 1; + } or die $@; + return defined $found ? $found : $class->object_class->new; +} + sub get_first { shift->get_all( + @_, limit => 1, )->[0]; }