Php 如何解决SQLSTATE[42000]:语法错误或访问冲突:1064

Php 如何解决SQLSTATE[42000]:语法错误或访问冲突:1064,php,symfony,doctrine-orm,symfony-2.8,Php,Symfony,Doctrine Orm,Symfony 2.8,我有两个实体,Match和Team,问题在于映射(我猜),我不是在找人给我这个问题的解决方案,只是给我一些提示,我应该在文档中的什么地方查找。由于某种原因,我被困在这个问题上,找不到解决办法。。我将提供我的两个实体的代码。 Match.php /** * @var * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Team", inversedBy="matchOne") * @ORM\JoinColumn(name="team_one_id"

我有两个实体,Match和Team,问题在于映射(我猜),我不是在找人给我这个问题的解决方案,只是给我一些提示,我应该在文档中的什么地方查找。由于某种原因,我被困在这个问题上,找不到解决办法。。我将提供我的两个实体的代码。 Match.php

/**
 * @var
 * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Team", inversedBy="matchOne")
 * @ORM\JoinColumn(name="team_one_id", referencedColumnName="id")
 */
protected $teamOne;

/**
 * @var
 * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Team", inversedBy="matchTwo")
 * @ORM\JoinColumn(name="team_two_id", referencedColumnName="id")
 */
protected $teamTwo;
Team.php

/**
 * @var
 * @ORM\OneToMany(targetEntity="AppBundle\Entity\Match", mappedBy="teamOne")
 */
protected $matchOne;

/**
 * @var
 * @ORM\OneToMany(targetEntity="AppBundle\Entity\Match", mappedBy="teamTwo")
 */
protected $matchTwo;
当我查询匹配项时,问题出现在我的表单类型中,下面是代码的一部分

->add('match', EntityType::class, [
        'class' => 'AppBundle:Match',
        'choice_label' => 'getMatch',
        ] )
和getMatch函数

public function getMatch() {
    return $this->getTeamOne()->getName() . ' - ' . $this->getTeamTwo()->getName();
}

表单类型用于创建新的下注,显然我想在下拉列表中显示比赛(球队名称,例如:切尔西-利物浦),并将该比赛的id写入下注实体。

问题出现在表名中。Match是MySQL中的保留字。所以,遇到相同或类似问题的每个人,请首先检查您的表名是否可能是保留字。我在这件事上损失了整整一天,每次我遇到这样的问题,都是这样愚蠢的事情