0
に子クラスのusineの教義に継承されたフィールドの列を作成します。私はいくつかのフィールドを持つ親クラス<em>ライセンス</em>持ってsymfonyの3を使用して2 ORM
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
class Licence
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(
* type="string",
* unique=true,
* length=30,
* nullable=false
* )
*/
protected $licenceKey;
}
をそして、私はその子クラスを持っていますこれを拡張します。確かに、それは同じフィールドを持っているが、私は特定の場所にデータベースに格納することがそれらを必要とする: だから私は次のように書いた:
namespace AppBundle\Entity\LicenceCase\FirstLicenceCase;
use AppBundle\Entity\Licence as BaseLicence;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="lic_first")
* @ORM\InheritanceType("SINGLE_TABLE")
*/
class FirstLicenceCase extends BaseLicence
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
public function getLicenceKey()
{
return $this->licenceKey;
}
public function setLicenceKey($licenceKey)
{
$this->licenceKey = $licenceKey;
}
}
私は特定のLicenceCaseの一意の列を取得する必要があります。私は、さまざまなフィールドとメソッドを持つすべてのLicenceCaseに対して新しいクラスを作成します。しかし、このコードでは、私のデータベースに適切な列が得られません。どうすればこの問題を解決できますか?
子クラスの親クラスのクラス注釈を指定しました。私はテーブルと継承タイプを意味します。この例に従ってください:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#single-table-inheritance –