我需要帮助。情况就是这样。我正在使用Symfony2 + FOSRestBundle,我创建了我的Entity-Classes,通过Doctrine将我的数据存储在MySQL中。我还编写了所有控制器来获取数据并直接将其转换为我的数据库。这很好。
namespace Stat\ContentBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="agegroups")
*/
class Table
{
* @ORM\Column(name="id", type="smallint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @ORM\Column(name="description", type="string", length=50)
* @Type("string")
*/
protected $description;
现在我确实希望使用相同的Entity声明并使用更多信息对其进行扩展,以便与MongoDB一起使用。我想将我的数据存储在MySQL中,另外还存储在MongoDB中。要使用mongodb-odm-bundle重用代码,我必须使用命名空间Document - 而这只是问题的开始。如果我想重用我的控制器,我也必须重写MongoDB的代码。
namespace Stat\ContentBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document
* @ORM\Entity
* @ORM\Table(name="agegroups")
*/
class Table
{
* @ORM\Column(name="id", type="smallint")
* @ORM\Id
* @MongoDB\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @ORM\Column(name="description", type="string", length=50)
* @MongoDB\String
* @Type("string")
*/
protected $description;
/**
* @ORM\Column(name="mySqlOnly", type="string", length=50)
* @Type("string")
*/
protected $mySqlOnly;
/**
* @MongoDB\String
*/
protected $mongoDbOnly;
是否有一种简单的方法可以为基于文档的数据库和关系数据库使用Doctrine-database模式?
答案 0 :(得分:5)
也许这会有所帮助: Blending the ORM and MongoDB ODM
由于你有一个实体加上一个文档管理器,因此很容易使用与Doctrine2的数据库nybrid。