アプリに複数のバンドルがあり、テーブル間に関係を持たせたいと考えています。1 つは UserBundle にある私のユーザー (StoreOwner) で、2 番目は StoreBundle のストアです。
それらの間の関係は、OneToMany (ユーザー -> の所有者 -> ストア) です。
店
/**
* Description of Store
*
* @ORM\Table(name="Store")
* @ORM\Entity(repositoryClass="Traffic\StoreBundle\Repository\StoreRepository")
* @author bart
*/
class Store extends StoreModel {
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string $name
*
* @ORM\Column(type="string", length=255)
* @Assert\NotBlank(
* message="Please provide your shop name"
* )
*/
protected $name;
/**
* @ORM\ManyToOne(targetEntity="Application\Sonata\UserBundle\Entity\StoreOwner", inversedBy="stores")
*
*/
protected $owner;
}
店主
/**
* @ORM\Entity
*
*/
class StoreOwner extends User implements StoreOwnerInterface {
/**
* @var type ArrayCollection()
*
* @ORM\OneToMany(targetEntity="Traffic\StoreBundle\Entity\Store", mappedBy="owner", cascade={"persist"})
*/
protected $stores;
}
私の質問は:
StoreBundle と UserBundle の間の依存関係を回避し、Doctrine のエンティティ間の関係を維持する解決策はありますか?