如何过滤从“教义到许多”关联中的字段?

时间:2019-06-28 17:53:26

标签: php mysql doctrine-orm doctrine

如果不需要某些非常昂贵的字段,我需要防止它们被选中。

我在数据库中有一个多边形字段,只需要在需要时选择一次。对于集合仅当直接选择此字段时,才应加载该字段,甚至不要将其显示在结果SELECT * FROM部分中。这是我一直在寻找的generell。将收集数据减少到字段的子集以提高sql性能。

例如,如果数据库是远程数据库,那么我将尽可能少的信息从sql服务器传输到php服务器。

在几何数据的情况下,这些单独的字段最终可能非常庞大。

我知道事后我可以过滤集合。我已经将Apigility与FilterInterface一起使用。这有助于最小化从php服务器传输到客户端的数据,而不是从mysql服务器传输到php服务器的数据。

/**
 * @ORM\OneToMany(targetEntity="ContactSearchprofile", mappedBy="contact", cascade={"all"}, orphanRemoval=false)
 */
private $searchprofiles;
public function getSearchprofiles() {return $this->searchprofiles;} // will select everything

在内部,它仅应执行repo->select("The, Fields, I, Want")->where('id = :contact_id');而不是select("*")

0 个答案:

没有答案