在SilverStripe中合并两个页面类型

时间:2015-07-14 08:50:13

标签: silverstripe

$page1 = PageType1::get();
$page2 = PageType2::get();

有没有办法从两种页面类型的组合中获取最新的5个帖子。 任何帮助都被接受。

1 个答案:

答案 0 :(得分:4)

假设PageType1PageType2都是Page班级的孩子,您可以这样做:

$myPages = Page::get()->filter(['ClassName' => ['PageType1', 'PageType2']]);

或两种页面类型的任何其他父类。

您可以按创建日期(保存在SiteTree表中)和限制排序,例如

$sortedAndLimited = $myPages->sort('Created')->limit(5);

下行:您无法轻松搜索,过滤或排序未与父类Page共享的单个字段,为此,您需要手动进行连接。