我的应用程序中有几个捆绑包,我想在表之间建立关系。一个是我的 User(StoreOwner) 在 UserBundle 中,第二个是 Store 在 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 中的实体之间的关系?