2017-10-20 92 views
0

我必须检查提交的表单与现有数据库以确保它不会被多个字段的组合(例如supplier_id,invoice_no和amount)复制。检查新创建的对象是否由多个字段唯一

有没有内置的方法,或者我应该自己编写代码?如果是这样 - 什么是指导方针:在哪里说,有什么好的做法?

目前我正在扩展CRUD控制器并覆盖createAction,并在那里添加条件。不确定这种方法是否是一种好的做法。

+5

看一看[UniqueEntity](https://symfony.com/doc/current/reference/constraints/UniqueEntity.html)约束 –

回答

2

实施例:

<?php 

namespace AppBundle\Entity\User; 

use Doctrine\ORM\Mapping as ORM; 
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; 

/** 
* @ORM\Entity 
* @UniqueEntity({"name", "email"}, message="This value is in a database.") 
*/ 
class User 
{ 

    /** 
    * @var string 
    */ 
    protected $name; 

    /* 
    * @var string 
    */ 
    protected $email; 
    ... 
} 
相关问题