generateSearchDataTask->run($data['description']); } $division = Division::create($data); // Создаем SEO $this->generateSeo($division, $data); return $division; } private function generateSeo(Division $division, array $data): void { $title = $data['title'] ?? ''; $description = null; // Извлекаем description из первого paragraph блока if (!empty($data['description'])) { foreach ($data['description'] as $block) { if ($block['type'] === 'paragraph') { $description = strip_tags($block['data']['content']); break; } } } $division->seo()->create([ 'title' => $title, 'description' => Str::limit(htmlspecialchars($description ?? '', ENT_QUOTES, 'UTF-8'), 160), ]); } }