middleware( function ($request, $next) { app('view')->share('title', (string) trans('firefly.piggyBanks')); app('view')->share('mainTitleIcon', 'fa-bullseye'); $this->piggyRepos = app(PiggyBankRepositoryInterface::class); return $next($request); } ); } /** * Show a single piggy bank. * * @param PiggyBank $piggyBank * * @return Factory|View */ public function show(PiggyBank $piggyBank) { /** @var Carbon $end */ $end = session('end', Carbon::now()->endOfMonth()); // transform piggies using the transformer: $parameters = new ParameterBag; $parameters->set('end', $end); /** @var PiggyBankTransformer $transformer */ $transformer = app(PiggyBankTransformer::class); $transformer->setParameters($parameters); $piggy = $transformer->transform($piggyBank); $events = $this->piggyRepos->getEvents($piggyBank); $subTitle = $piggyBank->name; $attachments = $this->piggyRepos->getAttachments($piggyBank); return view('piggy-banks.show', compact('piggyBank', 'events', 'subTitle', 'piggy', 'attachments')); } }