从类问题中导出对象
Posted
技术标签:
【中文标题】从类问题中导出对象【英文标题】:Export objects from class issue 【发布时间】:2016-01-10 19:42:01 【问题描述】:我有一个产品导出,我尝试使用我的自定义插件导出所有对象。我正在使用下面的方法来加载所有对象
$list = new Pimcore_Model_Object_Bodproduct();
$list->setOrder ( "ASC" );
$list->setOrderKey ( "o_id" );
// Load all filtered objects - products
$list->load ();
然后我使用 foreach 循环来访问对象。
一切正常。但问题是导出需要花费大量时间。有没有其他解决方案..我的意思是代替load()
函数,有没有其他方法可用?
【问题讨论】:
【参考方案1】:您可以使用 $list->loadIdList()
仅获取对象 ID - 这应该更快。然后你可以在循环中调用Object::getById($id)
来提供进度条(假设你的脚本是在控制台中启动的)。
其实这是load()
在内部做的,请看Object\Listing\Resource class
另一种选择是通过调用$list->getItems($offset, $itemCountPerPage)
将负载拆分到多个“页面”。
【讨论】:
谢谢,这也是一个不错的解决方案。但实际上我在 foreach 循环中搞砸了。【参考方案2】:在 Pimcore 对象列表中,您可以遍历列表中的每个对象,而无需调用 load
方法。在您的情况下,只需删除 "$list->load ();"
并查看它会在更短的时间内工作。
【讨论】:
以上是关于从类问题中导出对象的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JSON 文件中导出对象数组,然后使用 es6 导入 [重复]
如何以与 toad 相同的方式在 PL/SQL 中导出数据库对象?