我正在嘗試使用 yml 檔案將 Id 屬性對應為 Symfony\Component\Ulid。
這是我的 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
當我執行命令產生「遷移」時,出現以下錯誤:「無法實例化自訂生成器,沒有定義類別」
如何使用 yml 檔案將 Id 屬性對應到 Ulid 類型?
下面使用 PHP 8 屬性的對應有效:
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; } }
但我需要使用 yml 的對應。
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