OneToMany与Symfony2和Doctrine的关系

时间:2015-09-23 03:29:57

标签: php symfony doctrine-orm one-to-many

当我尝试检索双向关系的多个方面时,我一直得到null结果。

在我的工具实体中,我有

public function __construct()
{
    $this->instances = new ArrayCollection;
}


/**
 * @var integer
 */
private $toolId;


/* @var ArrayCollection things
*
* @ORM\OneToMany(targetEntity="Instance", mappedBy="tool")
*/
private $instances;




public function getInstances(){
    print "In the get";
    var_dump($this->instances);
    return $this->instances;
}

然后在另一边,我有

class Instance {
/**
 * @var integer
 */
private $instanceId;

/**
 * @var string
 */
private $serialnumber;

/**
 * @var boolean
 */
private $inServiceFlag = '1';

 /**
 * @ORM\ManyToOne(targetEntity="Tool", inversedBy="instances")
 * @ORM\JoinColumn(name="tool_id", referencedColumnName="tool_id")
 */
private $tool;

当我查看实例时,我可以看到该工具,但是当我查看该工具时,我可以看到一组实例。我总是得到一个空值。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您确定@JoinColumn注释是否正确?

在注释中,我看到referencedColumnName="tool_id",但在您的工具实体上,我看到private $toolId;

根据the docs,假设这些实体位于同一名称空间中,其他所有内容对我来说都是正确的