Ton*_*nov 4 php mysql doctrine symfony
我查了几篇帖子,但找不到合适的解决方案.
我的问题不仅仅是简单的:
我有一个实体说id,url和title.URL应该是唯一的(在MySQL PDO中).我已经成功创建了实体和架构,没有任何问题.现在,当我走一些记录时,我会打电话persist()给每一个,最后一个flush().问题是,当我尝试为URL插入重复的条目时,它给了我一个例外.怎么压抑它?
当插入重复条目时,它应该跳过它并插入其余条目.不需要事件,ON UPDATE语句,触发器和所有那些花哨的东西.
我已经尝试捕获由persist或引发的任何异常flush(),但似乎无法正确地执行它.
欢迎任何想法,谢谢!
编辑:在这里找到我的解决方案:Symfony2 Controller不会捕获异常
ihs*_*san 12
在Symfony 2.1+中,使用\Doctrine\DBAL\DBALException而不是使用它来捕获它\PDOException.
try {
...
} catch (\Doctrine\DBAL\DBALException $e) {
// ... Error on database call
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果您要删除具有父关系的条目,则Symfony 2.1中会抛出PDOException.但为了捕获它,你将使用ihsan建议的声明
try {
$em = $this->getDoctrine()->getEntityManager();
$em->remove($entity);
$em->flush();
} catch(\Doctrine\DBAL\DBALException $e)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15669 次 |
| 最近记录: |