我有一张发票。在本表中,我有:
invoice_id
列,它是
PRIMARY KEY
auto_increment
.
二-
invoice_number
在我的实体里我有这个代码
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* Invoices
*
* @ORM\Table(name="invoices", uniqueConstraints={@ORM\UniqueConstraint(name="invoice_number", columns={"invoice_number"})})
* @ORM\Entity
* @ORM\HasLifecycleCallbacks
*
* @UniqueEntity(fields="invoiceNumber", message="invoice number is already exist")
*/
class Invoices
{
/**
* @var integer
*
* @ORM\Column(name="invoice_id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $invoiceId;
/**
* @var string
*
* @ORM\Column(name="invoice_number", type="string", length=50, nullable=true, unique=true)
*/
private $invoiceNumber;
在我使用的控制器中
$form->isValid()
这样地
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
}
我用这个代码呈现字段
{{ form_label(form.salesInvoice.invoice.invoiceNumber, null, {'label_attr':{'class':'black'}}) }} <span class="required">*</span>
{{ form_widget(form.salesInvoice.invoice.invoiceNumber) }}
<div class="required"> {{ form_errors(form.salesInvoice.invoice.invoiceNumber) }}</div>
当我试图保存发票号码重复的发票时,我遇到了这个错误
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1230008' for key 'invoice_number'
发票号已存在