| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- <?php
 
- // src/Service/SluggerService.php
 
- namespace App\Service;
 
- use App\Entity\Article;
 
- use Doctrine\ORM\EntityManagerInterface;
 
- use Symfony\Component\String\Slugger\SluggerInterface;
 
- class SluggerService
 
- {
 
-     public function __construct(
 
-         protected readonly EntityManagerInterface $entityManager,
 
-         protected readonly SluggerInterface $slugger)
 
-     {
 
-     }
 
-     public function generateSlugsForExistingArticles()
 
-     {
 
-         $articles = $this->entityManager->getRepository(Article::class)->findAll();
 
-         foreach ($articles as $article) {
 
-             $slug = $this->slugger->slug($article->getTitle())->lower();
 
-             $existingSlug = $slug;
 
-             // Vérification des conflits
 
-             $count = 1;
 
-             while ($this->entityManager->getRepository(Article::class)->findOneBy(['slug' => $existingSlug])) {
 
-                 $existingSlug = $slug . '-' . $count;
 
-                 $count++;
 
-             }
 
-             $article->setSlug($existingSlug);
 
-             $this->entityManager->persist($article);
 
-         }
 
-         $this->entityManager->flush();
 
-     }
 
- }
 
 
  |