29 lines
793 B
PHP
29 lines
793 B
PHP
<?php
|
|
|
|
namespace App\Shared\Forms\Services;
|
|
|
|
use App\Domains\Core\Tenant\Models\SocialMedia;
|
|
use App\Domains\Core\Tenant\Models\Tenant;
|
|
use Illuminate\Database\Eloquent\Collection;
|
|
|
|
class EventFormService
|
|
{
|
|
/** @return array{social_media: Collection<int, SocialMedia>} */
|
|
public function get(Tenant $tenant): array
|
|
{
|
|
$event = $tenant->activeEvent;
|
|
$urls = $event?->socialMedia()
|
|
->pluck('event_social_media.url', 'social_media.code') ?? collect();
|
|
|
|
return [
|
|
'social_media' => SocialMedia::query()
|
|
->orderBy('id')
|
|
->get()
|
|
->each(fn (SocialMedia $item) => $item->setAttribute(
|
|
'url',
|
|
$urls->get($item->code)
|
|
)),
|
|
];
|
|
}
|
|
}
|