私は一般的にSymfony2を初めて使っています。この問題はDoctrineとFOSUserBundleに関係します。Symfony2 - DoctrineとFOSUserBundle - 間違った注釈
私は以下のUser.phpエンティティをFOSUserBundleと自己参照多対多に基づいて作成しました。キャッシュまたはドロップを更新しようとしたときに
<?php
namespace Pan100\MoodLogBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ManyToMany(targetEntity="User", mappedBy="hasAccessToMe")
**/
protected $hasAccessTo;
/**
* @ManyToMany(targetEntity="User", inversedBy="hasAccessTo")
* @JoinTable(name="access",
* joinColumns={@JoinColumn(name="id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="accessor_id", referencedColumnName="id")}
* )
**/
private $hasAccessToMe;
public function __construct()
{
parent::__construct();
$this->hasAccessTo = new \Doctrine\Common\Collections\ArrayCollection();
$this->hasAccessToMe = new \Doctrine\Common\Collections\ArrayCollection();
}
}
は私に次のエラーを与える:
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "@ManyToMany" in property Pan100\MoodLog
Bundle\Entity\User::$hasAccessTo was never imported. Did you maybe forget
to add a "use" statement for this annotation?
ここで間違っていますか?そして、「使用声明」とは何ですか?
を成功! ORMとして使用するので、すべての注釈の前にORMを置く必要があります。 – Piddien