['except' => 'all'], ]; public function setTimeframe(string $timeframe): void { $this->timeframe = $timeframe; $this->resetPage(); } public function with(): array { return [ 'releases' => $this->pressReleases(), 'totalCount' => $this->totalCount(), ]; } private function pressReleases(): LengthAwarePaginator { return $this->baseQuery() ->when($this->timeframe === 'today', fn (Builder $query) => $query->whereDate('published_at', today())) ->when($this->timeframe === 'week', fn (Builder $query) => $query->where('published_at', '>=', now()->subDays(7))) ->orderByDesc('published_at') ->paginate(8); } private function totalCount(): int { return $this->baseQuery()->count(); } private function baseQuery(): Builder { return PressRelease::query() ->with([ 'company', 'category.translations' => fn ($query) => $query->where('locale', 'de'), 'images' => fn ($query) => $query ->orderByDesc('is_preview') ->orderBy('sort_order') ->limit(1), ]) ->whereIn('portal', $this->portalValues()) ->where('status', PressReleaseStatus::Published) ->where('language', 'de') ->whereNotNull('published_at') ->where('published_at', '<=', now()); } /** * @return array */ private function portalValues(): array { $primary = $this->portal ?? Portal::Businessportal24->value; return [$primary, Portal::Both->value]; } }; ?>

Aktuelle Meldungen


@php $items = $releases->items(); $top = $items[0] ?? null; $rest = array_slice($items, 1); $mockFeedItems = [ ['time' => '13:42', 'date' => '12. Mai', 'category' => 'Tourismus', 'title' => 'Nachhaltiger Tourismus auf Erfolgskurs: Buchungen steigen um 45 %', 'company' => 'GreenTravel Consulting', 'city' => 'Berlin', 'recommended' => true], ['time' => '12:55', 'date' => '12. Mai', 'category' => 'Bildung', 'title' => 'Digitalisierung im Bildungssektor: Schulen erhalten 2 Mrd. Euro Förderung', 'company' => 'EduTech Initiative', 'city' => 'Frankfurt'], ['time' => '11:20', 'date' => '12. Mai', 'category' => 'Medien', 'title' => 'Medienbranche im Umbruch: Streaming-Dienste überholen klassisches TV', 'company' => 'MediaWatch Analytics', 'city' => 'Hamburg'], ['time' => '10:48', 'date' => '12. Mai', 'category' => 'Handel', 'title' => 'Einzelhandel setzt auf KI: Personalisierte Shopping-Erlebnisse werden Standard', 'company' => 'RetailTech Innovations', 'city' => 'Köln', 'recommended' => true], ['time' => '09:33', 'date' => '12. Mai', 'category' => 'Gesundheit', 'title' => 'Telemedizin-Boom: 3 Millionen Online-Sprechstunden im letzten Quartal', 'company' => 'HealthConnect Digital', 'city' => 'Stuttgart'], ['time' => '08:15', 'date' => '12. Mai', 'category' => 'Mobilität', 'title' => 'E-Mobilität: Ladeinfrastruktur wächst um 38 % gegenüber Vorjahr', 'company' => 'eMobility Verband', 'city' => 'Düsseldorf'], ]; $inFeedAd = [ 'time' => '12:14', 'date' => now()->translatedFormat('j. MMM'), 'category' => 'Cloud · Software', 'title' => 'Microsoft Azure: Neue EU-Region Frankfurt mit DSGVO-zertifizierter KI-Infrastruktur', 'company' => 'Microsoft Deutschland GmbH', ]; @endphp @if ($top) @else @endif @if (! empty($rest)) @foreach ($rest as $i => $release) @endforeach @else @foreach ($mockFeedItems as $mock) @endforeach @endif @if ($releases->hasMorePages()) @elseif (! $top) @endif