カスタムリポジトリクラスが作成できない

311 views
Skip to first unread message

hyster

unread,
May 3, 2014, 12:27:32 AM5/3/14
to symfony-...@googlegroups.com
エンティティクラスのアノテーションに、
カスタムリポジトリクラスの指定をしてジェネレートコマンドを実行したのですが、リポジトリクラスのファイルが生成されなくて困っています。
どなたか原因がお解りになりませんでしょうか?

※関係無いかもしれませんが、エンティティは既存データベースから作成する方法で作りました→(http://docs.symfony.gr.jp/symfony2/cookbook/doctrine/reverse_engineering.html)

//ジェネレート実行コマンド----------
$ php app/console doctrine:generate:entities Sf/Fc2summaryBundle
Generating entities for namespace "Sf\Fc2summaryBundle"
  > backing up Articles.php to Articles.php~
  > generating Sf\Fc2summaryBundle\Entity\Articles
 ・
 ・
(※特にエラーは出ない)

//エンティティ--------------
namespace Sf\Fc2summaryBundle\Entity;
use Doctrine\ORM\Mapping as ORM;

/**
 * Articles
 *
 * @ORM\Table(name="articles", uniqueConstraints={@ORM\UniqueConstraint(name="index_linkUrl", columns={"link_url"})}, indexes={@ORM\Index(name="index_link_title", columns={"link_title"})})
 * @ORM\Entity(repositoryClass="Sf\Fc2summaryBundle\Repository\ArticlesRepository")
 */
class Articles
{・・・}


どうぞ宜しくお願いします!

Hidenori GOTO

unread,
May 3, 2014, 1:11:08 AM5/3/14
to symfony-...@googlegroups.com
後藤です

推測ですが、バンドル内に複数の形式のマッピング情報ができてしまっていることが原因ではないかと思います。

・エンティティクラスに定義したアノテーション
・データベースからインポートした時のXML
http://docs.symfony.gr.jp/symfony2/cookbook/doctrine/reverse_engineering.html
の通りのコマンドであれば)

この状態で doctrine:generate:entities
を実行しても、アノテーションではなくXMLの方からメタデータを読み込んでしまうため、カスタムリポジトリの記述が有効になりません。

ですので、もしバンドルの Resources/config/doctrine/
ディレクトリあたりに生成されたXMLファイルが残っているようでしたら、これを削除してから、再度
doctrine:generate:entities を実行してみてください。


---------------------------------------------------------------
後藤秀宣
hideno...@gmail.com
---------------------------------------------------------------


2014年5月3日 13:27 hyster <hyste...@gmail.com>:
> --
> --
> -------------------
> Symfonyに関する疑問・質問、ユーザー会の活動やサイトに対するご意見、その他雑談など、お気軽にMLへ投稿してください!
>
>
> 日本Symfonyユーザー会
> http://www.symfony.gr.jp/
>
> 日本Symfonyユーザー会メーリングリスト
> http://groups.google.com/group/symfony-users-ja
>
> ---
> このメールは Google グループのグループ「日本Symfonyユーザー会」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> symfony-users-...@googlegroups.com にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

hyster

unread,
May 3, 2014, 2:42:23 AM5/3/14
to symfony-...@googlegroups.com
>>後藤様
御返信ありがとう御座います!

データベースからインポートした時のXML を削除し、キャッシュクリアしてから再実行してみましたが、
コマンドでのジェネレートは出来ませんでした。

ただ、XML削除前は
手動でリポジトリクラスを作成したものをコントローラから呼んでもUndefinedエラーになっていましたが、
XML削除してからは、手動作成したリポジトリクラスが使えるようになったので、目的は果たせました。

ご教授ありがとう御座いました☆m(_ _)m


Reply all
Reply to author
Forward
0 new messages