Studyng symfony..我有两个这样的实体
阿蒂科利实体
/**
* @ORMEntity(repositoryClass="AppRepositoryArticoliRepository")
*/
class Articoli
{
/**
* @ORMId()
* @ORMGeneratedValue()
* @ORMColumn(type="integer")
*/
private $id;
/**
* @ORMColumn(type="string", length=255)
*/
private $nome;
/**
* @ORMManyToOne(targetEntity="AppEntityCategorie", inversedBy="articoli")
* @ORMJoinColumn(nullable=false)
*/
private $categoria;
卡特戈里.php
/**
* @ORMEntity(repositoryClass="AppRepositoryCategorieRepository")
*/
class Categorie
{
/**
* @ORMId()
* @ORMGeneratedValue()
* @ORMColumn(type="integer")
*/
private $id;
/**
* @ORMColumn(type="string", length=255)
*/
private $categoria;
/**
* @ORMOneToMany(targetEntity="AppEntityArticoli", mappedBy="categoria", orphanRemoval=true)
*/
private $articoli;
/**
* @ORMColumn(type="string", length=255)
*/
private $nome;
在索引控制器上,我有
$articolo = $this->getDoctrine()->getRepository(Articoli::class)->find(201);
为什么$articolo categoria.categoria 和 categoria.articoli 为空?它应该是分类的名称
AppEntityArticoli {#755 ▼
-id: 201
-nome: "Articolo #1"
-categoria: Proxies__CG__AppEntityCategorie {#742 ▼
+__isInitialized__: false
-id: 29
-categoria: null
-articoli: null
…2
}
}
检查探查器时,执行的查询是
SELECT t0.id AS id_1, t0.nome AS nome_2, t0.categoria_id AS categoria_id_3 FROM articoli t0 WHERE t0.id = 201;
它应该是一个加入号吗?
谢谢
是的,您可以加入它们或在注释中使用 EAGER-Property。 否则,如果您尝试获取分类,将使用分类执行第二个查询:
$articolo = $this->getDoctrine()->getRepository(Articoli::class)->find(201);
$categoria = $articolo->getCategoria();