kivitendo/SL/DB/Helper/Manager.pm @ 7a244beb
ac552280 | Moritz Bunkus | package SL::DB::Helper::Manager;
|
||
82515b2d | Sven Schöling | |||
use strict;
|
||||
use Rose::DB::Object::Manager;
|
||||
use base qw(Rose::DB::Object::Manager);
|
||||
sub make_manager_methods {
|
||||
my $class = shift;
|
||||
my @params = scalar(@_) ? @_ : qw(all);
|
||||
return $class->SUPER::make_manager_methods(@params);
|
||||
}
|
||||
sub find_by {
|
||||
my $class = shift;
|
||||
return if !@_;
|
||||
return $class->get_all(query => [ @_ ], limit => 1)->[0];
|
||||
}
|
||||
a27dd3ae | Sven Schöling | sub find_by_or_create {
|
||
my $class = shift;
|
||||
my $found;
|
||||
eval { $found = $class->find_by(@_); };
|
||||
return defined $found ? $found : $class->object_class->new;
|
||||
}
|
||||
82515b2d | Sven Schöling | sub get_first {
|
||
shift->get_all(
|
||||
0aa55515 | Moritz Bunkus | @_,
|
||
82515b2d | Sven Schöling | limit => 1,
|
||
)->[0];
|
||||
}
|
||||
1;
|