pac*_*ion 5 php symfony doctrine-orm
我有以下课程:
class Category {
/**
* @ORM\OneToMany(targetEntity="Product", mappedBy="category")
*/
private $products;
...
}
class Product {
...
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="products")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
private $category;
...
}
Run Code Online (Sandbox Code Playgroud)
当我尝试从我的数据库中获取一个产品时,如下所示:
$query = $doctrineManager->createQuery(
"
SELECT p FROM AppBundle:Product p
WHERE p.id = :id
"
)->setParameter('id', $id);
$result = $query->getSingleResult();
Run Code Online (Sandbox Code Playgroud)
我不仅得到了我的product,还得到category了所有产品(除了我找到的产品).那么,如何在没有任何相关模型的情况下仅获取我想要的模型?
它们只是存根,除非您使用fetch = EAGER,否则实际上不会获取任何相关的实体信息.
这个答案很好地解释了它.
在学说中fetch ="EAGER"和fetch ="LAZY"之间有什么区别?
总之,您无法摆脱关联,但除非您特别要求,否则在调用数据之前它们不会加载其他实体.所以不要担心.
| 归档时间: |
|
| 查看次数: |
1915 次 |
| 最近记录: |