如何只选择所需的对象字段?

时间:2017-03-09 10:01:23

标签: pimcore

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

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

$myObjects->getObjects();

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

如何告诉Pimcore只选择我想要的字段?它是否可以通过API或我是否需要使用自定义SQL?如果是这样,我该怎么做?

祝你好运

1 个答案:

答案 0 :(得分:2)

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

如果您想快速简便地选择对象的一个​​字段,我建议使用pimcore db类:

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

这将从类的对象查询表中返回所有'YOUR_FIELD'值的数组宽度。

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

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

修改

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

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