奇妙な問題があります。
私はsymfony2にまったく慣れていないので、これがばかげた質問であるなら許してください。
ただし、永続データをデータベースに作成する2つのエンティティを作成しようとしています。このエンティティは、ユーザー用とグループ用の2つのエンティティになります。チュートリアル
に従ってこれらの2つのクラスを定義しましたが、最初のエンティティのみを作成して実行すると、すべてがうまくいくようです-ところで、dbはすでに作成されています!。php app/console doctrine:schema:update --force
2回目に、2番目のエンティティを作成することにしました(最初のエンティティと関係があり、その関係を定義するために教義表記を使用することにしました)。
これは私の重要なコードです
// src/Sestante/UserBundle/Entity/User.php
[...]
/**
* @ORM\ManyToMany(targetEntity="GroupAndRoles", inversedBy="users")
*
*/
private $groups;
[...]
と
// src/Sestante/UserBundle/Entity/GroupAndRoles.php
<?php
namespace Sestante\Bundle\UserBundle\Entity;
use Symfony\Component\Security\Core\Role\RoleInterface;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="groups")
* @ORM\Entity()
*/
class GroupAndRoles implements RoleInterface
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id()
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="name", type="string", length=30)
*/
private $name;
/**
* @ORM\Column(name="role", type="string", length=20, unique=true)
*/
private $role;
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="groups")
*/
private $users;
public function __construct()
{
$this->users = new ArrayCollection();
}
// ... getters and setters for each property
/**
* @see RoleInterface
*/
public function getRole()
{
return $this->role;
}
}
?>
もう一度実行するphp app/console doctrine:schema:update --force
と、このエラーが発生します
致命的なエラー:13行目の/var/www/html/symfony/Symfony/src/Sestante/UserBundle/Entity/GroupAndRoles.phpのクラスSestante \ Bundle \ UserBundle \ Entity\GroupAndRolesを再宣言できません
さらに、アプリケーションのルートから、そのエンティティをそのコマンドで再定義できるファイルを見つけようとしましたfind . -type f -exec grep Sestante\Bundle\UserBundle\Entity\GroupAndRoles {} \;
が、結果は生成されませんでした。
キャッシュかそれに関連するものが足りないと思いますか?(それについて何かを語ったsymfonyの本の章を読んでください、しかしそれが泣いていることを覚えていません)。