我需要帮助。情况是这样的。我使用symfony2+fosrestbundle,我创建了实体类,通过docine将数据存储在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;
现在我确实想使用同一个实体声明,并用更多信息扩展它,以便与mongodb一起使用。我想将我的数据存储在mysql中,另外还要存储在mongodb中。要将代码与MongoDB ODM捆绑包一起重用,我必须使用名称空间文档——这只是问题的开始。如果我想重用我的控制器,我也必须重写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;
对于基于文档的数据库和关系数据库,是否有一种简单的方法使用条令数据库模式?
最佳答案
或许这有助于:
Blending the ORM and MongoDB ODM
在doctrine2中使用数据库nybrid很容易,因为您有一个实体和一个documentmanager。