无法通过 ID 访问 parent 个实体属性
Unable to access parent entity attributes by ID
我正在尝试弄清楚为什么我无法访问我的 Category
实体的 parent 实体的 name(或任何属性) .我的视图工作正常并显示 parent 信息以外的所有属性。
我要查找的是 parent 的名称(即 "Interior"),而不是 ID。但是我好像访问不了。
namespace AyrshireMinis\CarBundle\Entity;
class Category
{
/**
* @var integer
*/
protected $id;
/**
* @var integer
*/
protected $parent_id;
/**
* @var Category
*/
protected $parent;
public function __construct() {}
/**
* @return int
*/
public function getParentId()
{
return $this->parent_id;
}
public function getParent()
{
return new self($this->parent_id);
}
}
我的 Doctrine 实体映射:
fields:
parent_id:
type: integer
length: 11
nullable: true
在我的 Twig 模板中,我试图提取 parent 类别的名称,如下所示:
<td>
{{ category.parent.name }}
</td>
但是,我没有收到任何错误,但也没有收到类别名称。
这是我的 SQL GUI 的简要视图:
table 是分层的。
public function getParent()
{
return new self($this->parent_id);
}
您在这里所做的是创建一个所有属性均为空白的新类别。查看 symfony and doctrine 文档以了解如何正确创建关系。
我最终通过从我的 ORM 映射中删除 parent_id
并将其替换为以下内容来解决此问题:
manyToOne:
parent:
targetEntity: AyrshireMinis\CarBundle\Entity\Category
inversedBy: children
然后将这些成员变量添加到我的Category
实体class:
/**
* @var Category
*/
private $children;
/**
* @var Category
*/
private $parent;
我正在尝试弄清楚为什么我无法访问我的 Category
实体的 parent 实体的 name(或任何属性) .我的视图工作正常并显示 parent 信息以外的所有属性。
我要查找的是 parent 的名称(即 "Interior"),而不是 ID。但是我好像访问不了。
namespace AyrshireMinis\CarBundle\Entity;
class Category
{
/**
* @var integer
*/
protected $id;
/**
* @var integer
*/
protected $parent_id;
/**
* @var Category
*/
protected $parent;
public function __construct() {}
/**
* @return int
*/
public function getParentId()
{
return $this->parent_id;
}
public function getParent()
{
return new self($this->parent_id);
}
}
我的 Doctrine 实体映射:
fields:
parent_id:
type: integer
length: 11
nullable: true
在我的 Twig 模板中,我试图提取 parent 类别的名称,如下所示:
<td>
{{ category.parent.name }}
</td>
但是,我没有收到任何错误,但也没有收到类别名称。
这是我的 SQL GUI 的简要视图:
table 是分层的。
public function getParent()
{
return new self($this->parent_id);
}
您在这里所做的是创建一个所有属性均为空白的新类别。查看 symfony and doctrine 文档以了解如何正确创建关系。
我最终通过从我的 ORM 映射中删除 parent_id
并将其替换为以下内容来解决此问题:
manyToOne:
parent:
targetEntity: AyrshireMinis\CarBundle\Entity\Category
inversedBy: children
然后将这些成员变量添加到我的Category
实体class:
/**
* @var Category
*/
private $children;
/**
* @var Category
*/
private $parent;