如何select只需要对象的字段?

How to select only needed fields of objects?

我正在使用 Pimcore API 来获取对象。

$myObjects = new Object\MyObject\Listing();
$myObjects->load();

$myObjects->getObjects();

按预期工作。现在我只想 select 我的对象的特定字段,例如名称字段。

我怎样才能告诉 Pimcore select 只有我想要的字段?甚至可以通过 API 还是我需要使用自定义 SQL?如果可以,我该怎么做?

此致

pimcore 列表总是return匹配您的列表条件的完整对象集...

如果您想要一种仅 select 对象的一个​​字段的快速简便的方法,我建议使用 pimcore 数据库 class:

$db = \Pimcore\Db::get();
$fieldsArray = $db->fetchCol("SELECT `YOUR_FIELD` FROM `object_query_CLASS-ID`");

这将为您 return 您的 class.

对象查询 table 中所有 'YOUR_FIELD' 值的数组宽度

要动态获取查询的 class ID,您应该使用:

$classId = \Pimcore\Model\Object\MyObject::classId();

编辑:

要获取多个字段列,需要使用'fetchAll'而不是'fetchCol':

 $fieldsArray = $db->fetchAll("SELECT `YOUR_FIELD`, `YOUR_FIELD_2` FROM `object_query_CLASS-ID`");