如何解决排除故障“ [语法错误]预期的PlainValue,得到\'\'”
|| 我在教义2的注释文档块中遇到此错误: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;
这根本不对。
解决方法
对于那些来这里却不是因为教义的人,我的错误是在
@Routes
注释中使用单引号而不是双引号。
错误:
/**
* @Route(\'/home\')
*/
对
/**
* @Route(\"/home\")
*/
, 这是一个愚蠢的错误,错误字符串不是很有帮助,因为它指出了我在问题中显示的那行是错误所在的行。事实是,该实体正在扩展父对象,父对象具有@Entity标记,而子对象却没有,我将其移开,一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。