Symfony Easyadmin抛出错误,而试图添加选择与枚举根据官方文档EasyAdmin Choice Field。
注:-省略不必要的代码行。
我的代码:
<?php
namespace App\Entity;
enum OGTypeStatus: string {
case Website = 'website';
case Article = 'article';
case Book = 'book';
case Profile = 'profile';
}
// inside class
#[ORM\Column(type: Types::STRING, enumType: OGTypeStatus::class, nullable: true)]
private ?string $ogType = null;
字符串
在Easyadmin中:根据官方文档setChoices
// there's no need to call ->setChoices(); EasyAdmin will get all possible
// values via Doctrine; it's equivalent to calling: ->setChoices(BlogPostStatus::cases())
// yield ChoiceField::new('status');
public function configureFields(string $pageName): iterable {
$ogType = ChoiceField::new('ogType');
// if(true){ return $ogType}
}
型
**错误:-**如果已经设置了值(仅用于枚举字段),则在索引页和详细信息页中抛出错误
Cannot assign App\Entity\OGTypeStatus to property App\Entity\SEO::$ogType of type ?string
型
如果枚举字段为空或null。显示正确。
在新页面:-当提交枚举值抛出错误
Warning: Attempt to read property "value" on string
//from log
Uncaught PHP Exception ErrorException: "Warning: Attempt to read property "value" on string" at /home/.../vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php line 62
{
"exception": {}
}
型
**问题:-**如何正确设置choice字段中的enum?
1条答案
按热度按时间67up9zun1#
最后,它通过从实体中删除
enumType: OGTypeStatus::class
来工作字符串
并在easyadmin中添加选择,
型
所有其他代码行都是相同的。