私はsymfonyの2を使用していると私のような別のバンドル内の2つのエンティティがあります。エンティティ
//this class overrides fos_user class
//User\UserBundle\Entity\User
class User extends BaseUser
{
//..
/**
* @ORM\OneToMany(targetEntity="News\AdminBundle\Entity\News", mappedBy="author_id")
*/
protected $news_author;
//...
}
//News\AdminBundle\Entity\News
class News
{
//...
/**
* @ORM\ManyToOne(targetEntity="\User\UserBundle\Entity\User", inversedBy="news_author")
* @ORM\JoinColumn(name="author_id", referencedColumnName="id")
*/
protected $news_author;
//...
}
両方のクラス(エンティティ)が正常に動作します。私は正常にfos_userバンドルを登録と他のものとセットアップしている。 Newsクラスの場合も同じです。それから、コードで示されているように、これら2つのクラスOneTo Many(User - > News)の間の関係を構築します。これはエラーなく正常に動作し、ユーザーに属するニュースを追加できます。ニュースは(アーカイブのように)掲載されている場合
->add('year', 'entity', array(
'class' => 'NewsAdminBundle:News',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->groupBy('u.year')
->orderBy('u.year', 'DESC');
},))
このフォームは年間私に示しています。私のようなエンティティクラスでフォームを構築するときに問題があります。年は細かい表示されているが、私は(ポスト)を提出する際の形式は、私がエラーを持っている:
Class User\UserBundle\Entity\News does not exist
私は、このエラーが原因で、私の問題がある文
$form->bindRequest($request);
に接続されていることを把握します異なるバンドルに2つのエンティティがあるこのエラーを解決するにはどうすればよいですか?
編集: 私はこの問題を解決しました。私は
php app/console doctrine:generate:entities User
php app/console doctrine:generate:entities News
を実行すると、その後教義は、ユーザーとのニュースにゲッターとセッターを生成します。エンティティのニュースでは、私はこの方法に注意を払っていなかったと私は今、すべてが正常に動作します。この
/**
* Add news_author
*
* @param News\AdminBundle\Entity\News $newsAuthor
*/
public function addNews(News\AdminBundle\Entity\News $newsAuthor)
{
$this->news_author[] = $newsAuthor;
}
にそれを変更する方法
/**
* Add news_author
*
* @param User\UserBundle\Entity\News $newsAuthor
*/
public function addNews(User\UserBundle\Entity\News $newsAuthor)
{
$this->news_author[] = $newsAuthor;
}
を生成します。すべての答えをありがとう。
あなたは接頭辞バックスラッシュを削除する必要が
でノートを参照してください 'クラス'=> 'ニュース\\ AdminBundle \\エンティティ\\ニュース' NewsAdminBundle:ニュース '何か変わる? – webda2l
私はそれを変更しますが、それでも動作しません。 – repincln