2017-10-20 93 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; 
    ... 
} 
相關問題