首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发原则的若干问题

问并发原则的若干问题
EN

Stack Overflow用户
提问于 2015-08-27 21:31:58
回答 1查看 196关注 0票数 2

我有两个实体-- User和AbstractContent,两边都有ManyToMany关系,而关联有一个属性(例如下面的类),所以我为关联创建了一个实体UserAbstractContent。

问题是,当我尝试在表(实体) AbstractContent中插入一个带有一个或多个行的新行UserAbstractContent时,会出现错误。

UserAbstractContent类:

代码语言:javascript
复制
class UserAbstractContent
{

    /**
     * @ORM\ManyToOne(targetEntity="push\Bundle\PushBundle\Entity\AbstractContent")
     * @ORM\JoinColumn(nullable=false)
     */
    private $content;
    //Reviser
    /**
     * @ORM\ManyToOne(targetEntity="push\Bundle\UserBundle\Entity\User")
     * @ORM\JoinColumn(nullable=false)
     */
    private $user;

    /**
     * @var boolean
     * @ORM\Column(name="accept", type="boolean",nullable=true)
     */
    private $accept;

}

财务主任:

代码语言:javascript
复制
// I save the AbstractContent
$em->persist($abstractContent);
$em->flush();
// getUsersByphones is a method to get the users with their phone numbers
$users = $em->getRepository("pushUserBundle:User")
            ->getUsersByphones($contactsConverted);
// a loop to link every user with the AbstractContent
foreach ($users as $user) {
    $userAbstractContent = new UserAbstractContent();
    $userAbstractContent->setContent($abstractContent);
    $userAbstractContent->setUser($user);
    $em->persist($userAbstractContent);
}
$em->flush();

AbstractContent保存在数据库中,但UserAbstractcontent没有保存在这里,这是sql错误:

代码语言:javascript
复制
An exception occurred while executing 
'INSERT INTO UserAbstractContent(read,accept,content_id,user_id) VALUES (?,?,?,?)' 
with paramas[null,null,60,3] sql state 42000  syntax error or access violation.

哪里

  1. 60 : AbstractContentent ID
  2. 3:用户ID
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-27 22:43:42

你问题的答案很简单。您可能使用的是保留的列名。从外观上看,您可能正在使用MySQL。这里是保留字的列表。您可以看到单词read是一个保留字。

通过设置以下方法尝试重命名列:

代码语言:javascript
复制
class UserAbstractContent {
   /**
    * @ORM\Column(name="some_other_name")
    */
   public $read;
}

没有必要重命名实体属性,但将属性和列名匹配视为良好做法。这样生活就容易多了。因此,如果工作不多,请重命名$read以反映表的列的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32259795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档