Doctrine2 [语义错误]找不到常量?

问题描述 投票:0回答:3

尝试运行时出现错误

doctrine:generate:entities

[Doctrine\Common\Annotations\AnnotationException]
[语义错误] 找不到常量?,属性 Smartnode\TalkBundle\Entity\Post::$postowner。

这是我的帖子实体类:

namespace Smartnode\TalkBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Post
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Smartnode\TalkBundle\Entity\PostRepository")
 */
class Post
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\ManyToOne(targetEntity=“Smartnode\userBundle\Entity\User“)
     * @JoinColumn(name="postowner_id", referencedColumnName="id")
     */
    protected $postowner;

    /**
     * @var integer
     *
     * @ORM\ManyTonOne(targetEntity=“Smartnode\TalkBundle\Entity\Chan“)
     */
    private $postchan;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="creationdate", type="datetime")
     */
    private $creationdate;

这是我的 User 实体类:

namespace Smartnode\userBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;



/**
 * @ORM\Entity(repositoryClass="Smartnode\userBundle\Entity\UserRepository")
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
symfony orm doctrine-orm
3个回答
33
投票

问题是引用:/

有了好的报价,一切都正常了

谢谢大家的帮助


11
投票

问题创建者的答案是正确的。无论如何,目前还不清楚,他所说的问题的意思是引用。

还应该使用 ' 而不是 " 来引用注释属性的值。

我的问题是缺少报价。

错误代码:

/**
 * @ORM\OneToMany(targetEntity="UnternehmenBrancheZuordnung", mappedBy=_unternehmen")
 * @var ArrayCollection $_branchenZuordnungen
 */
private $_branchenZuordnungen;

正确代码:

/**
 * @ORM\OneToMany(targetEntity="UnternehmenBrancheZuordnung", mappedBy="_unternehmen")
 * @var ArrayCollection $_branchenZuordnungen
 */
private $_branchenZuordnungen;

此处突出显示了缺少的引号:mappedBy=

"
_unternehmen"


0
投票

对我来说问题是,我尝试使用 JSON 样式。

错误代码:

/**
 * @ORM\ManyToOne(targetEntity="App\Entity\ServerModel", cascade={"remove", "detach"})
 * @ORM\JoinColumn(name: "serverModel_id", referencedColumnName: "id")
 */
protected ServerModel $serverModel;

正确代码:

/**
 * @ORM\ManyToOne(targetEntity="App\Entity\ServerModel", cascade={"remove", "detach"})
 * @ORM\JoinColumn(name="serverModel_id", referencedColumnName="id")
 */
protected ServerModel $serverModel;
© www.soinside.com 2019 - 2024. All rights reserved.