我得到我的注解此错误的docblock为原则2:疑难解答“[语法错误]预计PlainValue,得到了‘)’”
Doctrine\Common\Annotations\AnnotationException: [Syntax Error] Expected PlainValue, got ')'
寻找一个答案后,我发现这个参考Stackoverflow Question 3500125这实质上是说在引号中注明所有值。
使用注释块我似乎不可能。这是我的例子,抛出错误。
/**
* @var tags
*
* @ManyToMany(targetEntity="namespace\to\tag")
* @JoinTable(name="content_tag",
* joinColumns={
* @JoinColumn(name="content_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @JoinColumn(name="tag_id", referencedColumnName="id")
* }
*) // This is the line indicated by the error
*/
private $tags;
如果我按照我在堆栈溢出这是引用了值找到答案的建议,我的代码将是这样的:
/**
* @var tags
*
* @ManyToMany(targetEntity="namespace\to\tag")
* @JoinTable(name="content_tag",
* joinColumns="{
* @JoinColumn(name="content_id", referencedColumnName="id")
* }",
* inverseJoinColumns="{
* @JoinColumn(name="tag_id", referencedColumnName="id")
* }" // Note the extra quotation marks
*)
*/
private $tags;
这是不正确的。
我有很多一对多使用相同的语法,你已经有了,唯一的区别是我缩进/布局和级联。看看:https://gist.github.com/1025638 – 2011-06-14 19:21:34
谢谢杰里米,我相信语法是正确的。但我仍然得到错误。它变得非常令人沮丧lol – potsed 2011-06-15 00:24:08
第一个代码块看起来有效并适用于我。你使用的是什么版本的学说? – 2011-06-17 15:37:32