Php 如何在Silverstripe CMS中下载大量的子对象作为CSV?
我正在处理一个Silverstripe项目,该项目具有批处理>项目关系 一批最多可以有50000个项目 这就是关系的表述方式:Php 如何在Silverstripe CMS中下载大量的子对象作为CSV?,php,silverstripe,Php,Silverstripe,我正在处理一个Silverstripe项目,该项目具有批处理>项目关系 一批最多可以有50000个项目 这就是关系的表述方式: class Item extends DataObject { private static $has_one = array( 'Batch' => 'Batch' ); class Batch extends DataObject { private static $has_many = array( 'Items'
class Item extends DataObject {
private static $has_one = array(
'Batch' => 'Batch'
);
class Batch extends DataObject {
private static $has_many = array(
'Items' => 'Item'
);
class BatchAdmin extends ModelAdmin {
private static $managed_models = array(
'Batch',
'Item'
);
这使CMS用户能够以CSV形式从CMS下载所有项目
我正在努力解决两件事:
项目的批次
,我们将GridFieldExportButton
添加到批次CMSFields:
类批处理扩展数据对象{
私有静态$has_many=数组(
'项目'=>'项目'
);
公共函数getCMSFields(){
$itemsConfig=GridFieldConfig_RelationEditor::create();
$itemsConfig->addComponent(新的GridFieldExportButton());
$itemsField=新网格字段(
“项目”,
“项目”,
$this->Items(),
$itemsConfig
);
$fields=新字段列表(
$itemsField
);
返回$fields;
}
}
不止你一个人:)太好了,谢谢你。我添加了这一行以防止脚本超时:ini\u set('max\u execution\u time',3600);