Symfony映射错误:“映射彼此不一致”& “该关联指的是不存在的反面字段”

时间:2017-11-09 15:15:45

标签: php symfony doctrine-orm symfony-3.3

我有两个实体映射如下:

class ScriptFeedback
{
    /**
     * @ORM\ManyToOne(targetEntity="Script", inversedBy="feedback")
     */
    private $script;

    ...
}

class Script
{
    /**
     * @ORM\OneToMany(targetEntity="ScriptFeedback", mappedBy="script")
     */
    private $feebdack;

    ...
}

这样做 - 我可以从中生成迁移,并且该网站完全符合我的要求,正确地将我的脚本及其反馈链接到数据库中。

然而 - 当我运行doctrine:schema:validate时,我得到了:

  

[Mapping] FAIL - 实体类'AppBundle \ Entity \ Script'映射   是无效的:   *映射AppBundle \ Entity \ Script#feebdack和AppBundle \ Entity \ ScriptFeedback#script与每个映射不一致   其他

     

[Mapping] FAIL - 实体类'AppBundle \ Entity \ ScriptFeedback'   映射无效:   *关联AppBundle \ Entity \ ScriptFeedback#script指的是反面字段AppBundle \ Entity \ Script#feedback其中没有   存在。

任何想法发生了什么?

1 个答案:

答案 0 :(得分:1)

由于这个注释:

#include <iostream>
#include <string>

int main() {
  std::string myAnimal;

  std::cout << "Please enter the name of your favorite animal.\n";
  std::cin >> myAnimal;

  // Iterate in reverse order
  for(auto c = myAnimal.rbegin(); c != myAnimal.rend(); ++c) {
    std::cout << *c << std::endl;
  }
}

您的脚本实体中有拼写错误

@ORM\ManyToOne(targetEntity="Script", inversedBy="feedback")

应该是

private $feebdack;