【发布时间】:2014-01-08 18:51:18
【问题描述】:
当我尝试通过 ID 查找 Miejsce 实体时:
$m= $this->getDoctrine()
->getRepository('MiejsceObiektyBundle:Miejsce')
->find($id);
我得到这个错误:
注意:未定义的索引:id in 供应商/学说/orm/lib/Doctrine/ORM/AbstractQuery.php 第 286 行 500 内部服务器错误 - ContextErrorException
想法和现实的联系是
where subdomain.rid=miejsce.id and subdomain.ridType=1
子域适用于许多实体 - 所以我不希望从子域到 miejsce 的学说 var。
ridType=1 = miejsce
ridType=2 = product
ridType=3 = other
我可以在存储库中添加条件 subdomain.ridType=1 - 但设置连接 subdomain.rid=miejsce.id 存在问题,因为 miejsce 没有子域的 id 参考 - 它不需要子域,但不仅适用于 miejsce。 ... :)
这个想法有什么问题?可以在学说中使用吗?
Miejsce实体:
/**
* @var integer
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\OneToOne(targetEntity="Miejsce\DomainBundle\Entity\Subdomains")
* @ORM\JoinColumn(name="id", referencedColumnName="rid")
* @var Subdomains
*/
protected $subdomain;
Subdomain实体:
class Subdomains
{
/**
* @var integer
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string")
* @var string
*/
private $name;
/**
* @ORM\Column(type="integer")
* @var integer
*/
private $rid;
/**
* @ORM\Column(type="integer")
* @var integer
*/
private $ridType;
【问题讨论】:
标签: php symfony orm doctrine-orm