Silversstripe 3.1.2-分页列表仅适用于与页面相关的数据对象


Silverstripe 3.1.2 - PaginatedList only for Dataobjects related to page

我想创建一个具有不同类别的分页新闻部分。问题是,我从所有类别中获取新闻,而不仅仅是从所选类别中获取。

我的类别是页面,新闻存储在一个具有$many_many关系的Dataobject中。

这是我的密码。我应该怎么做才能从所选页面中只获得"NewsObject"而不是所有

public function Items() {
    if($this->Paginate) {
        $items = new PaginatedList(NewsObject::get()->filter(array(
            'Visibility' => 'true'
        )), $this->request);
        $items->setPageLength($this->ItemsPerPage);
    } else {
        $items = NewsObject::get()->filter(array(
            'Visibility' => 'true'
        ));
    }
    return $items;
}

提前感谢

回答我自己的问题。。。

只需使用$this->RelationName

// Show and Paginate Items
public function myItems() {
    if($this->Paginate) {
        $items = new PaginatedList($this->News()->filter(array(
            'Visibility' => 'true'
        )), $this->request);
        $items->setPageLength($this->ItemsPerPage);
    } else {
        $items = $this->News()->filter(array(
            'Visibility' => 'true'
        ));
    }
    return $items;
}