Php 映射中设置的laravel原则延迟加载无效

Php 映射中设置的laravel原则延迟加载无效,php,laravel,doctrine-orm,doctrine,lazy-loading,Php,Laravel,Doctrine Orm,Doctrine,Lazy Loading,我查过这里的其他问题,找不到确切的答案 我正在尝试使用现有数据库构建api端点。表是巨大的,它们连接到的表也是同样巨大的 我想在动物表中找到ID为111的动物 我已经设置了映射,并且有一个控制器这样调用它: public function get($id) { $animal = EntityManager::getRepository(Animal::class)->find(111); var_dump($animal); die(); } 现在我只是想确认我

我查过这里的其他问题,找不到确切的答案

我正在尝试使用现有数据库构建api端点。表是巨大的,它们连接到的表也是同样巨大的

我想在动物表中找到ID为
111
的动物

我已经设置了映射,并且有一个控制器这样调用它:

public function get($id)
{
    $animal = EntityManager::getRepository(Animal::class)->find(111);
    var_dump($animal);
    die();
}
现在我只是想确认我检索的数据是准确的。我的问题是,即使我已经将所有与其他表的关系设置为延迟加载,它仍然在加载所有内容

映射中设置的延迟加载示例:

/**
 * @var \Contact
 *
 * @ORM\ManyToOne(targetEntity="Contact", fetch="LAZY")
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="animaldata_billingcontact", referencedColumnName="contact_id")
 * })
 */

我只想加载联系人id,而不是整个联系人对象,因为这会显著降低我的通话速度。

我认为默认设置是lazy?您正在寻找
fetch=“EXTRA_LAZY”
?感谢您的建议,不幸的是,这没有起到作用-我想我将停止var_转储整个过程,并开始寻找一种不同的方法来完成。通过查看结果来改变结果?喵喵:)Laravel/Doctrine world是否提供SQL分析工具?想说Doctrine 2.0>具有
setSQLLogger
功能。很抱歉,我不理解您之前的评论。我想建议您查看正在执行的实际sql查询。var_转储可能导致发生加载。Symfony内置了这种记录器。我相信拉威尔也有类似的想法。