. */ declare(strict_types=1); namespace FireflyIII\Handlers\Observer; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\PiggyBankRepetition; /** * Class PiggyBankObserver */ class PiggyBankObserver { public function created(PiggyBank $piggyBank): void { app('log')->debug('Observe "created" of a piggy bank. DO NOTHING.'); // $repetition = new PiggyBankRepetition(); // $repetition->piggyBank()->associate($piggyBank); // $repetition->start_date = $piggyBank->start_date; // $repetition->start_date_tz = $piggyBank->start_date->format('e'); // $repetition->target_date = $piggyBank->target_date; // $repetition->target_date_tz = $piggyBank->target_date?->format('e'); // $repetition->current_amount = '0'; // $repetition->save(); } /** * Also delete related objects. */ public function deleting(PiggyBank $piggyBank): void { app('log')->debug('Observe "deleting" of a piggy bank.'); foreach ($piggyBank->attachments()->get() as $attachment) { $attachment->delete(); } $piggyBank->piggyBankEvents()->delete(); $piggyBank->piggyBankRepetitions()->delete(); $piggyBank->notes()->delete(); } }