2017-03-09 74 views
0

我正在使用Pimcore API来获取对象。如何仅选择需要的对象字段?

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

$myObjects->getObjects(); 

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

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

问候

回答

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`"); 
+0

感谢您的反馈。工作得很好,做我想做的事情。谢谢。 – user3180943