如何使用 yml 檔案將 Id 屬性對應到 Ulid 類型?
P粉445750942
P粉445750942 2024-04-01 20:26:47
0
1
518

我正在嘗試使用 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粉445750942
P粉445750942

全部回覆(1)
P粉638343995

我解決的方法如下:

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板