在 SilverStripe 中合并两个页面类型

Merge two page type in SilverStripe

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

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

假设 PageType1PageType2 都是 Page 的 children class 你可以这样做:

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

或任何其他 parent class 两种页面类型。

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

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

缺点:您无法轻松搜索、过滤或排序未与 parent class Page 共享的单个字段,为此您需要手动进行连接.