从类问题中导出对象

时间:2015-10-13 07:03:47

标签: php pimcore

我有产品导出,我尝试使用自定义插件导出所有对象。我正在使用以下方法加载所有对象

        $list = new Pimcore_Model_Object_Bodproduct();
        $list->setOrder ( "ASC" );
        $list->setOrderKey ( "o_id" );

        // Load all filtered objects - products
        $list->load ();

然后我使用foreach循环来访问对象。

工作正常。但问题是出口需要大量时间。有没有其他解决方案......我的意思是代替load()函数,还有其他方法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用$list->loadIdList()仅获取对象ID - 这应该更快。然后,您可以在循环内调用Object::getById($id)以提供进度条(假设您的脚本在控制台中启动)。

事实上这是load()内部正在做的事情,请参阅Object\Listing\Resource class

另一种选择是将负载拆分为多个"页面"致电$list->getItems($offset, $itemCountPerPage)

答案 1 :(得分:0)

在Pimcore对象列表中,您可以遍历列表中的每个对象,而无需调用load方法。在您的情况下,只需删除"$list->load ();"并查看它可以用更少的时间。