Heim  >  Fragen und Antworten  >  Hauptteil

Wie ordne ich die Id-Eigenschaft mithilfe einer YML-Datei dem Ulid-Typ zu?

Ich versuche, die Id-Eigenschaft mithilfe einer YML-Datei SymfonyComponentUlid zuzuordnen.

Das ist meine YML-Datei:

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

Wenn ich den Befehl zum Generieren von „Migrationen“ ausführe, erhalte ich die folgende Fehlermeldung: „Benutzerdefinierter Generator kann nicht instanziiert werden, keine Klasse definiert“

Wie ordne ich das Id-Attribut dem Ulid-Typ mithilfe einer YML-Datei zu?

Die folgende Zuordnung mithilfe von PHP 8-Eigenschaften funktioniert:

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;
    }

}

Aber ich muss YML-Mapping verwenden.

P粉445750942P粉445750942224 Tage vor506

Antworte allen(1)Ich werde antworten

  • P粉638343995

    P粉6383439952024-04-02 00:03:08

    我解决的方法如下:

    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

    Antwort
    0
  • StornierenAntwort