我得到以下例外:
执行INSERT INTO任务(task_title、task_description、task_priority、task_type、用户)时发生异常 (?, ?, ?, ?, ?)'带有参数["efSwedfgvswde","ewdfweds","正常",14,13]:
SQLSTATE[23000]:完整性约束冲突: 1062重复条目'13'的关键'UNIQ_505865978D93D649'
在这里,我将我的表单键入数据库:
$task = new Task();
$form = $this->createForm(new TaskType(), $task);
$form->handleRequest($request);
if($form->isValid()):
$em = $this->get('doctrine')->getManager();
$em->persist($task);
$em->flush();
return $this->redirect($this->generateUrl('add_task'));
endif;
这是我的任务实体中的字段USER:
/**
* @var User
* @Assert\Type(type="Seotool\MainBundle\Entity\User")
* @ORM\OneToOne(targetEntity="User")
* @ORM\JoinColumn(name="user", referencedColumnName="id")
*/
protected $user;
为什么不可能在表“Task”中添加两个具有相同字段“user”值的条目?实际上,在我的数据库中有一个用户值为13的条目。当我在数据库中添加另一个user=13的条目时,我得到了这个异常。为什么?我还没有定义,那个用户是唯一的?!
这是来自用户实体的ID:
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id()
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
如@Qoop所述,您有错误的关联映射。
一个用户可以有多个任务,这从用户实体转换为一个多任务关联
许多任务可能属于一个用户-这将从任务实体转换为多个一个关联。
提供的代码表明关联是单向的(用户实体中没有$tasks
字段),因此只需要任务实体中的多个映射。
你的映射应该是这样的:
/**
* @var User
* @Assert\Type(type="Seotool\MainBundle\Entity\User")
* @ORM\ManyToOne(targetEntity="User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
你可以在这里了解更多关于关联的教义
这里也有类似的StackOverflow问题。
我的理解是 x == 0 首先运行。但是 x 在计算时仍然是 -1 (y = y / x) == 0?否则它将除以零。我以为输出将是 -5,但日食说 5。我快疯了。
有这样一个应用程序结构,其中是根目录,“app”和“package1”是两个并行包: *注意:最后一个位于根目录“myapp”中 如何解决ImporDerror:尝试在没有已知父包的情况下进行相对导入 我想应用“解决方案1”,但不明白我应该把main.py放在哪里,它的内部代码是什么,或者相反,它可能是像这样的空文件
我试图在Java中输入某些字符串和整数变量的值。但是,如果我在整数之后输入字符串,那么在控制台中,字符串输入将被跳过并移动到下一个输入。 这是密码
我编写了一个函数来接收用户输入。找不到正确答案。总是失败。我现在疯了。
我是java初学者,我对上述程序的输出感到困惑。请给我解释一下输出的原因。