我现在有点问题。
使用CommentType和CommentId以及其他一些字段进行父实体评论。 还有一些不同的CommentEntites(如CommentText或CommentPhoto)扩展了父实体。
预期的行为应该是,Doctrine从Entity CommentText或CommentImage(取决于CommentType)加载带有ContentId的Data。 但目前它已经加载了来自父实体的ID。
父母实体:
use Doctrine\ORM\Mapping as ORM;
/**
* Comment
*
* @ORM\Table(name="comments")
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="comment_type", type="string")
* @ORM\DiscriminatorMap( {"txt" = "CommentTxt", "img" = "CommentImg"} )
*/
abstract class Comment
{
/**
* @var integer
*
* @ORM\Column(name="content_id", type="integer", nullable=true)
*/
private $contentId;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
//and so on
其中一个儿童实体:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* CommentTxt
*
* @ORM\Table(name="comment_text")
* @ORM\Entity
*/
class CommentText extends Comment
{
/**
* @var string
*
* @ORM\Column(name="content", type="text", length=65535, nullable=false)
*/
private $content;
/**
* @var \DateTime
*
* @ORM\Column(name="created_at", type="datetime", nullable=false)
*/
private $createdAt;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
//and some more
我该如何改变这种行为?
迎接