Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在Symfony2中允许重复输入SQLSTATE[23000]?_Mysql_Sql_Symfony_Doctrine Orm - Fatal编程技术网

Mysql 如何在Symfony2中允许重复输入SQLSTATE[23000]?

Mysql 如何在Symfony2中允许重复输入SQLSTATE[23000]?,mysql,sql,symfony,doctrine-orm,Mysql,Sql,Symfony,Doctrine Orm,例如,我有产品[Banana]和产品[orange],我希望这两种产品在数据库中使用相同的图片。但当我尝试添加与第一个产品图片相同的第二个产品时,我出现了以下错误: SQLSTATE[23000]:完整性约束冲突:1062重复项 “1”用于键“UNIQ_5A8A6C8D3DA5256D” 我的媒体实体: <?php namespace FLY\BookingsBundle\Entity; use Application\Sonata\UserBundle\Entity\User; us

例如,我有产品[Banana]和产品[orange],我希望这两种产品在数据库中使用相同的图片。但当我尝试添加与第一个产品图片相同的第二个产品时,我出现了以下错误:

SQLSTATE[23000]:完整性约束冲突:1062重复项 “1”用于键“UNIQ_5A8A6C8D3DA5256D”

我的媒体实体:

 <?php

namespace FLY\BookingsBundle\Entity;
use Application\Sonata\UserBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;


/**
 * Media
 *
 * @ORM\Table("media")
 * @ORM\Entity(repositoryClass="FLY\BookingsBundle\Entity\MediaRepository")
 */
class Media
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="path", type="string", length=255)
     */
    private $path;

    /**
     * @var string
     *
     * @ORM\Column(name="alt", type="string", length=125)
     */
    private $alt;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set path
     *
     * @param string $path
     * @return Media
     */
    public function setPath($path)
    {
        $this->path = $path;

        return $this;
    }

    /**
     * Get path
     *
     * @return string 
     */
    public function getPath()
    {
        return $this->path;
    }

    /**
     * Set alt
     *
     * @param string $alt
     * @return Media
     */
    public function setAlt($alt)
    {
        $this->alt = $alt;

        return $this;
    }

    /**
     * Get alt
     *
     * @return string 
     */
    public function getAlt()
    {
        return $this->alt;
    }
}

就像在评论中所说的那样,
一对一
关联涉及到不能将两个
帖子
与相同的
媒体
关联

要允许此操作,请将您的关联更改为:

/**
 * @ORM\OneToOne(targetEntity="FLY\BookingsBundle\Entity\Media", cascade={"persist","remove"})
 * @ORM\JoinColumn(nullable=true)
 */
private $image;
致:


就像在评论中所说的那样,
一对一
关联涉及到不能有两个
帖子
与相同的
媒体
关联

要允许此操作,请将您的关联更改为:

/**
 * @ORM\OneToOne(targetEntity="FLY\BookingsBundle\Entity\Media", cascade={"persist","remove"})
 * @ORM\JoinColumn(nullable=true)
 */
private $image;
致:


您应该发布实体,而不是发布sql。这是我们可以帮助你的方式。编辑:另外,您在post表上获得了
添加唯一键'UNIQ_5A8A6C8D3DA5256D'('image_id')
,这就是您获得此错误的原因您在
image
属性上使用了
OneToOne
-关联(一篇文章恰好有一个关联的图像)。将其更改为
ManyToOne
(许多帖子可以具有相同的图像)。请参阅:您应该发布实体,而不是发布sql。这是我们可以帮助你的方式。编辑:另外,您在post表上获得了
添加唯一键'UNIQ_5A8A6C8D3DA5256D'('image_id')
,这就是您获得此错误的原因您在
image
属性上使用了
OneToOne
-关联(一篇文章恰好有一个关联的图像)。将其更改为
ManyToOne
(许多帖子可以具有相同的图像)。见:
/**
 * @ORM\ManyToOne(targetEntity="FLY\BookingsBundle\Entity\Media", cascade={"persist","remove"})
 * @ORM\JoinColumn(nullable=true)
 */
private $image;