Maison > Questions et réponses > le corps du texte
J'essaie de mapper la propriété Id à SymfonyComponentUlid à l'aide d'un fichier yml.
Voici mon fichier yml :
App\Entity\User: type: entity repositoryClass: App\Entity\UserRepository table: user id: id: type: ulid unique: true generator: strategy: CUSTOM class: Symfony\Component\Uid\Ulid
Lorsque j'exécute la commande pour générer des "migrations", j'obtiens l'erreur suivante : "Impossible d'instancier le générateur personnalisé, aucune classe définie"
Comment mapper l'attribut Id au type Ulid à l'aide du fichier yml ?
Le mappage suivant utilisant les propriétés PHP 8 fonctionne :
namespace App\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Uid\Ulid; class User { #[ORM\Id] #[ORM\Column(type: 'ulid', unique: true)] #[ORM\GeneratedValue(strategy: 'CUSTOM')] #[ORM\CustomIdGenerator(class: 'doctrine.ulid_generator')] private $id; public function getId(): ?Ulid { return $this->id; } }
Mais je dois utiliser le mappage yml.
P粉6383439952024-04-02 00:03:08
Ma solution est la suivante :
App\Entity\User: type: entity repositoryClass: App\Repository\UserRepository table: "`user`" id: id: type: ulid unique: true generator: strategy: CUSTOM customIdGenerator: class: doctrine.ulid_generator