我正在使用Pimcore API来获取对象。
$myObjects = new Object\MyObject\Listing();
$myObjects->load();
$myObjects->getObjects();
按预期工作。现在我想只选择对象的特定字段,例如名称字段。
如何告诉Pimcore只选择我想要的字段?它是否可以通过API或我是否需要使用自定义SQL?如果是这样,我该怎么做?
祝你好运
答案 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`");