]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DB/Object.pm
SL::DB: Exception nur dann mit ->isa/->rethrow behandeln, wenn geblesstes Objekt
[mfinanz.git] / SL / DB / Object.pm
index 4c3e18439f2ca8894b2942590db8adf764442a06..3304ed9b66efa4e44fe006a1eab4a037fd51130c 100755 (executable)
@@ -148,7 +148,7 @@ sub save {
     SL::DB::Object::Hooks::run_hooks($self, 'after_save', $result);
 
     1;
     SL::DB::Object::Hooks::run_hooks($self, 'after_save', $result);
 
     1;
-  }) || die $self->error;
+  }) || die $self->db->error;
 
   return $result;
 }
 
   return $result;
 }
@@ -164,7 +164,7 @@ sub delete {
     SL::DB::Object::Hooks::run_hooks($self, 'after_delete', $result);
 
     1;
     SL::DB::Object::Hooks::run_hooks($self, 'after_delete', $result);
 
     1;
-  }) || die $self->error;
+  }) || die $self->db->error;
 
   return $result;
 }
 
   return $result;
 }
@@ -324,6 +324,14 @@ Loads objects from the database which haven't been cached before and
 caches them for the duration of the current request (see
 L<SL::Request/cache>).
 
 caches them for the duration of the current request (see
 L<SL::Request/cache>).
 
+If you know in advance that you will likely need all objects of a
+particular type then you can pre-cache them by calling the manager's
+C<cache_all> function. For example, if you expect to need all unit
+objects, you can use C<SL::DB::Manager::Unit-E<gt>cache_all> before
+you start the actual work. Later you can use
+C<SL::DB::Unit-E<gt>load_cached> to retrieve individual objects and be
+sure that they're already cached.
+
 This method can be called both as an instance method and a class
 method. It loads objects for the corresponding class (e.g. both
 C<SL::DB::Part-E<gt>load_cached(…)> and
 This method can be called both as an instance method and a class
 method. It loads objects for the corresponding class (e.g. both
 C<SL::DB::Part-E<gt>load_cached(…)> and