無駄に理解しようとした小さな問題があります... 私は2つのクラスを持っています。1 つは「SpecificIndividual」と呼ばれる抽象的な Document であり、もう 1 つは「Individual」と呼ばれる通常の Document です。
これが私がやりたいことです: SpecificIndividual には、いくつかのプロパティといくつかのゲッター/セッター メソッドがあります。Individual は SpecificIndividual を継承し、独自のプロパティとゲッター/セッター メソッドを持ちます。
COLLECTION_PER_CLASS タイプで MappedSuperClass 継承を使用しました。
私の問題は、「doctrine:mongodb:generate:documents」コマンドを使用すると、抽象クラスのすべてのゲッター/セッターメソッド(これが私が望むものです)、子クラスのすべてのゲッター/セッターメソッド(これも私が望むもの)しかし、それはすべての抽象クラスのゲッター/セッターメソッドを子クラスに複製します(これは継承ではまったく意味がありません)。
MySQL と Entities を使用していたときは機能していたので、おそらく何か間違ったことをしているのですが、MongoDB に移行して以来、これを行う適切な方法が見つかりません。
ここに私のクラスがあります:まず、SpecificIndividual:
namespace SpecificBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use Doctrine\Common\Collections\ArrayCollection;
/**
* SpecificIndividual
*
* @MongoDB\Document
* @MongoDB\InheritanceType("COLLECTION_PER_CLASS")
*/
abstract class Individual
{
/**
* @MongoDB\Id
*/
protected $individual_id;
/**
* @MongoDB\Boolean
*/
protected $chiped;
/**
* Get individualId
*
* @return id $individualId
*/
public function getIndividualId()
{
return $this->individual_id;
}
/**
* Set chiped
*
* @param boolean $chiped
* @return self
*/
public function setChiped($chiped)
{
$this->chiped = $chiped;
return $this;
}
/**
* Get chiped
*
* @return boolean $chiped
*/
public function getChiped()
{
return $this->chiped;
}
}
子クラス Individual :
namespace ChildBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
use SpecificBundle\Document\Individual as SpecificIndividual;
/**
* Individual
*
* @MongoDB\Document(collection="individuals")
*/
class Individual extends SpecificIndividual
{
/**
* @MongoDB\String
*/
protected $someString;
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
}
/**
* Set someString
*
* @param String $someString
* @return self
*/
public function setSomeString(String $someString)
{
$this->someString = $someString;
return $this;
}
/**
* Get someString
*
* @return String $someString
*/
public function getSomeString()
{
return $this->someString;
}
}
皆さんの助けを頼りにしています!前もって感謝します。