Revision a27dd3ae
Von Sven Schöling vor fast 13 Jahren hinzugefügt
SL/DB/Helper/Manager.pm | ||
---|---|---|
18 | 18 |
return $class->get_all(query => [ @_ ], limit => 1)->[0]; |
19 | 19 |
} |
20 | 20 |
|
21 |
sub find_by_or_create { |
|
22 |
my $class = shift; |
|
23 |
|
|
24 |
my $found; |
|
25 |
eval { $found = $class->find_by(@_); }; |
|
26 |
return defined $found ? $found : $class->object_class->new; |
|
27 |
} |
|
28 |
|
|
21 | 29 |
sub get_first { |
22 | 30 |
shift->get_all( |
23 | 31 |
@_, |
Auch abrufbar als: Unified diff
Manager: find_by_or_create, sichere Variante ein Objekt zu finden oder zu autovivifien.