Php 如何获取具有唯一约束的错误消息
我有一个表格,其中添加了产品的参考号。我将此字段设置为唯一字段,因为不会有重复的参考号 我遇到的问题是,当我添加一个已经附加到另一个产品的参考号时,我遇到了一个异常Php 如何获取具有唯一约束的错误消息,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我有一个表格,其中添加了产品的参考号。我将此字段设置为唯一字段,因为不会有重复的参考号 我遇到的问题是,当我添加一个已经附加到另一个产品的参考号时,我遇到了一个异常完整性约束冲突:1062键“reference”的重复条目。相反,我希望表单向用户显示一条消息,告知他们引用已经在使用中 编辑:我创建了一个自定义验证器来检查给定的引用是否已经存在,但我发现以下错误: 类型错误:函数Backend\Modules\glass\Domain\glass\Validator\Constraints\Dup
完整性约束冲突:1062键“reference”的重复条目
。相反,我希望表单向用户显示一条消息,告知他们引用已经在使用中
编辑:我创建了一个自定义验证器来检查给定的引用是否已经存在,但我发现以下错误:
类型错误:函数Backend\Modules\glass\Domain\glass\Validator\Constraints\DuplicateReferenceValidator::\uu construct(),0传入/var/www/html/vendor/symfony/symfony/src/symfony/Component/Validator/containerconstraintvalidatorfactor.php第52行,预期正好是1
我似乎无法在DuplicateReferenceValidator
数据传输对象:
<?php
namespace Backend\Modules\Glasses\Domain\Glasses;
use Backend\Modules\Glasses\Domain\Brand\Brand;
use Backend\Modules\MediaLibrary\Domain\MediaGroup\MediaGroup;
use Common\Doctrine\Entity\Meta;
use Symfony\Component\Validator\Constraints as Assert;
use Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints as CustomAssert;
class GlassesDataTransferObject
{
/*** Other fields ***/
/**
* @var string
*
* @Assert\NotBlank(message="err.FieldIsRequired")
* @CustomAssert\DuplicateReference
*/
public $reference;
/*** Other fields ***/
我自己想出来的
我需要将实体管理器添加到我的services.yml
文件中,以便能够在验证器中访问它
Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints\DuplicateReferenceValidator:
attributes:
- "@doctrine.orm.entity_manager"
我自己想出来的
我需要将实体管理器添加到我的services.yml
文件中,以便能够在验证器中访问它
Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints\DuplicateReferenceValidator:
attributes:
- "@doctrine.orm.entity_manager"
我能应付。我能应付。
Backend\Modules\Glasses\Domain\Glasses\Validator\Constraints\DuplicateReferenceValidator:
attributes:
- "@doctrine.orm.entity_manager"