私はthisマッピング戦略を実装しようとしています。私はidや他のフィールドを持つ抽象クラスを定義しました。次のエラーが発生し続ける:抽象クラスに指定された識別子/主キーがありません
No identifier/primary key specified for Entity "AppBundle\Entity\AbstractItem". Every Entity must have an identifier/primary key. (500 Internal Server Error)
これは私のクラスです。あなたが見ることができるように、一意の識別子$id
が
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"post" = "Post", "group" = "Group"})
*/
class AbstractItem
{
/**
* @var int
*
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var \DateTime
*/
protected $published;
protected $object;
protected $target;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
}
'$ id'の可視性を' protected'に設定しようとしましたか? –
Doctrineは、抽象エンティティクラスを扱うためにマップされたスーパークラスの概念を使用しています:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#inheritance-mapping – Cerad
@ JakubMatczakそれは役に立たなかった。私はまだ同じエラーがあります – blahblah