我有三个实体(Profile
和ProfileValue
)Value
。
AProfile
与 具有一对多关系,后者与实体ProfileValue
具有多对一关系。Value
是否有可能从 获得相关ProfileValues
的Profile
,由 订购的value id
?
如果我orderby
为非外键添加注释,如 中的启用字段ProfileValue
,它可以工作。但是对于外键,它失败了 message "inrecognized field"
。有任何想法吗?
/**
*
* @ORM\Table(name="profile")
* @ORM\Entity
*/
class Profile {
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var array $profileCValues
* @ORM\OneToMany(targetEntity="ABC\XYZBundle\Entity\ProfileValue", mappedBy="profile", cascade={"persist"})
* @ORM\OrderBy({"value" = "ASC"})
*/
private $profileValues;
这是ProfileValue
实体:
/**
* ABC\XYZBundle\Entity\ProfileValue
*
* @ORM\Table(name="profile_value", indexes={@ORM\Index(columns={"profile_id"}), @ORM\Index(columns={"value_id"}) })
* @ORM\Entity
*/
class ProfileValue {
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var integer $enabled
*
* @ORM\Column(name="enabled", type="boolean", length=1, nullable=true)
*/
private $enabled;
/**
* @var ABC\XYZBundle\Entity\Profile
* @ORM\ManyToOne(targetEntity="ABC\XYZBundle\Entity\Profile", inversedBy="profileValues")
* @ORM\JoinColumn(name="profile_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
*/
private $profile;
/**
* @var ABC\XYZBundle\Entity\Value
* @ORM\ManyToOne(targetEntity="ABC\XYZBundle\Entity\Value")
* @ORM\JoinColumn(name="value_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $value;
}