Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverstripe 如何在CMS中仅显示数据库中最近的100个结果?_Silverstripe_Silverstripe 4 - Fatal编程技术网

Silverstripe 如何在CMS中仅显示数据库中最近的100个结果?

Silverstripe 如何在CMS中仅显示数据库中最近的100个结果?,silverstripe,silverstripe-4,Silverstripe,Silverstripe 4,我只想在我的silverstripe站点的CMS端显示数据库中最近的100个条目。我现在可以看到所有600,这是不必要的。silverstripe文档没有任何帮助,我无法进入他们的论坛问这个问题 我已尝试在表的ID上设置大于筛选器,但筛选器不起作用 这是我的模型管理文件 use SilverStripe\Admin\ModelAdmin; use SilverStripe\Forms\DateField; use SilverStripe\Forms\GridField\GridField; u

我只想在我的silverstripe站点的CMS端显示数据库中最近的100个条目。我现在可以看到所有600,这是不必要的。silverstripe文档没有任何帮助,我无法进入他们的论坛问这个问题

我已尝试在表的ID上设置大于筛选器,但筛选器不起作用

这是我的模型管理文件
use SilverStripe\Admin\ModelAdmin;
use SilverStripe\Forms\DateField;
use SilverStripe\Forms\GridField\GridField;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
use SilverStripe\Forms\GridField\GridFieldFilterHeader;

class BonusAllocations extends ModelAdmin
{

private static $managed_models = [
    'AffiliateProgram\MemberBonus'
];

private static $url_segment = 'bonus';

private static $menu_title = 'Bonuses Allocations';

public function getList()
{
    $list = parent::getList();

    return $list;
}

}
这是我当前的数据对象

<?php
namespace AffiliateProgram;

use SilverStripe\Forms\TextField;
use SilverStripe\Forms\DropdownField;
use SilverStripe\Forms\GridField\GridField;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
use SilverStripe\Security\Permission;
use SilverStripe\ORM\DataObject;


class MemberBonus extends DataObject
{
private static $db = [
    'Amount' => 'Currency',
    'Confirmed' => 'Boolean',
    'Level' => 'Int',
    'Percentage' => 'Int'
];

private static $has_one = [
    'Member' => 'AffiliateProgram\Member',
    'MemberPayment' => 'AffiliateProgram\MemberPayment',
    'PaymentType' => 'AffiliateProgram\PaymentType',
    'ProgramType' => 'AffiliateProgram\ProgramType'
];

private static $summary_fields = [
    'Amount' => 'Amount (USD)',
    'Member.Email' => 'Email', 
    'Level',
    'MemberPayment.PaymentType.Symbol' => 'Recieved As',
    'Percentage' => 'Percentage Bonus Applied',
    'ProgramType.Name' => 'Program Type',
    'MemberPayment.Created' => 'Payment Date',
    // 'Confirmed' => 'Confirmed?',
    'MemberPayment.ID' => 'Payment ID',
    'ID' => 'Bonus ID'
];


public function searchableFields()
{
    return [
        'Member.Email' => [
            'filter' => 'PartialMatchFilter',
            'title' => 'Email',
            'field' => TextField::class,
        ],
        'ProgramType.Name' => [
            'filter' => 'ExactMatchFilter',
            'title' => 'Program',
            'field' => DropdownField::create('ProgramType')
                ->setSource(
                    ProgramType::get()->map('Name','Name')
                )
                ->setEmptyString('-- Any Program --')                
        ],
        'MemberPayment.PaymentType.Symbol' => [
            'filter' => 'ExactMatchFilter',
            'title' => 'Locale (Symbol)'              
        ],
    ];
}
  }

SilverStripe 4中的
要限制自定义
ModelAdmin
中的列表,我们可以定义
getList
函数并根据需要修改列表

下面是一个自定义
ModelAdmin
的示例,我们在其中调用
DataList
函数,将条目限制为最多100项

use SilverStripe\Admin\ModelAdmin;

class BonusAllocations extends ModelAdmin
{

    private static $managed_models = [
        'AffiliateProgram\MemberBonus'
    ];

    private static $url_segment = 'bonus';

    private static $menu_title = 'Bonuses Allocations';

    public function getList()
    {
        $list = parent::getList();

        $list = $list->limit(100);

        return $list;
    }

}

在SilverStripe 4中,为了限制自定义
ModelAdmin
中的列表,我们可以定义
getList
函数,并根据需要修改列表

下面是一个自定义
ModelAdmin
的示例,我们在其中调用
DataList
函数,将条目限制为最多100项

use SilverStripe\Admin\ModelAdmin;

class BonusAllocations extends ModelAdmin
{

    private static $managed_models = [
        'AffiliateProgram\MemberBonus'
    ];

    private static $url_segment = 'bonus';

    private static $menu_title = 'Bonuses Allocations';

    public function getList()
    {
        $list = parent::getList();

        $list = $list->limit(100);

        return $list;
    }

}

$list=$list->limit(100)@3dgoo很抱歉让人很痛苦,但你能告诉我具体在哪里实现这个吗?在返回列表之前,这是否在modelAdmin中?干杯编辑:我做了上述操作,它更改了顶部的“视图1-100或100”,但不影响显示的条目数。。。有什么想法吗?默认情况下,ModelAdmin的gridfield分页并显示每页15个条目。您在ModelAdmins的EditForm方法中做了什么特别的事情吗?
$list=$list->limit(100)@3dgoo很抱歉让人很痛苦,但你能告诉我具体在哪里实现这个吗?在返回列表之前,这是否在modelAdmin中?干杯编辑:我做了上述操作,它更改了顶部的“视图1-100或100”,但不影响显示的条目数。。。有什么想法吗?默认情况下,ModelAdmin的gridfield分页并显示每页15个条目。您在ModelAdmins的EditForm方法中做了什么特别的事情吗?