2012-02-27 7 views
2

注:私は尋ねる前にいくつかの検索を行っていました。一つはチャネルであり、他の1チャネルは、以下のコードは、多くのプラグインを持つことができ、プラグインである、Doctrineは関係を生成できません

チャンネル::

私は2つのエンティティを持っている

:ここ

は私の問題です
use Gedmo\Mapping\Annotation as Gedmo; // gedmo annotations 

use Doctrine\Common\Collections\ArrayCollection; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* Mikay\MikiBundle\Entity\Channel 
* 
* @ORM\Table(name="channels") 
* @ORM\Entity(repositoryClass="Mikay\MikiBundle\Entity\ChannelRepository") 
*/ 
<?php 
class Channel 
{ 
    /**  
    * @ORM\OneToMany(targetEntity="Plugin", mappedBy="channel") 
    */ 
    private $plugins;    

プラグイン:

use Doctrine\ORM\Mapping as ORM; 

/** 
* Mikay\MikiBundle\Entity\Plugin 
* 
* @ORM\Table(name="plugins") 
* @ORM\Entity(repositoryClass="Mikay\MikiBundle\Entity\PluginRepository") 
*/ 
<?php 
class Plugin 
{ 
    /** 
    * @ORM\ManyToOne(targetEntity="Channel", inversedBy="plugins") 
    * @ORM\JoinColumn(name="channel_id", referencedColumnName="id") 
    */ 
    private $channel; 

私は、データベースを更新するには、このコマンドを使用しますが、それ2つのテーブル間の関係を作成したことはありません。

php app/console doctrine:schema:update --force 

何が問題なのですか。設定エラーですか?

EDIT:

注: は、プラグインの実体に

@ORM\Column(name="channel_id", type="integer") 

この種のannonationを追加しないでください、またはそれは2つのテーブル間の関係を生成しません、それは私の問題の原因です。

+2

JoinColumn宣言を削除することはできません。無用です。あなたは、関係は決して作られなかったと言いますか?宣言を削除し、スキーマを更新し、宣言を元に戻し、 'php app/console doctrine:schema:update --dump-sql'を実行するとどうなりますか? – greg0ire

+0

ありがとう、それは私のすべてのコードが正しいと思われ、dcotrineは今テーブル間の関係を生成することができます。私はこの質問を閉じるでしょう。うん、JoinColumnステートメントは不要です。再度、感謝します。 – imikay

+0

そして、所有側で関係を指定する必要があるだけで、逆側は必要ありません。 – imikay

答えて

2

私はここで再びそれを繰り返すだろう:

/** 
* @ORM\Entity() 
*/ 
class Channel 
{ 

はここにあなたのエンティティを見ることができる教義を確認するための簡単な方法です。

@ORM\Column(name="channel_id", type="integer") 

私の場合には、他のエンティティを参照する財産上のannonationのこのタイプを追加しないでくださいは、プラグインの実体のチャネル特性である、またはそれは2つのテーブル間の関係を生成しません、それはです私の問題の原因。

2

doctrineにはエンティティであることを伝える必要があります。

php app/console doctrine:mapping:info 
+0

私は@ORM \ Entity()宣言を持っていますが、これを追加するために質問を更新し、doctrine:mapping:infoコマンドを使ってエンティティを見ることができます。 – imikay

関連する問題