私は助けが必要です。これが状況です。私は Symfony2 + FOSRestBundle を使用しています。エンティティ クラスを作成して、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 スキーマを使用する簡単な方法はありますか?