次のクラスが定義されている場合、
class Category {
/**
*
* @var integer $id
* @Column(name="id", type="integer",nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
*
* @ManyToMany(targetEntity="Tag")
* @JoinColumn(onDelete="SET NULL")
*/
protected $tags;
}
次の方法で、このカテゴリに関連付けられているすべてのタグを取得できないでしょうか。
$categoryTags = $category->getTags();
上記の代入後の $categoryTags のオブジェクトは Doctrine\ORM\PersistentCollection 型ですが、配列であると予想しています。
sql コマンドを使用して手動で category_tag テーブルに関連値を追加しましたが、それらが有効であることを確認できます。
私の Tags クラスは次のようになります。
class Tag extends Tag{
/**
*
* @var integer $id
* @Column(name="id", type="integer",nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @Column(type="string",length=60,nullable=false)
* @var string
*/
protected $tag;
}