【发布时间】:2016-11-01 18:30:33
【问题描述】:
我想创建一个具有不同类的数据对象的可循环列表。
类似的东西,但功能正常
DataObject::get()->filter('ClassName, ['MyClass', 'MyOtherClass']);
有没有办法在没有子类的情况下实现这一点?
【问题讨论】:
标签: silverstripe
我想创建一个具有不同类的数据对象的可循环列表。
类似的东西,但功能正常
DataObject::get()->filter('ClassName, ['MyClass', 'MyOtherClass']);
有没有办法在没有子类的情况下实现这一点?
【问题讨论】:
标签: silverstripe
csy_dot_io 你可以用两个对象列表创建一个ArrayList:
public function getCombinedList()
{
$list = ArrayList::create();
$pushToList = function($object) use (&$list)
{
$list->push($object);
};
MyClass::get()->each($pushToList);
MyOtherClass::get()->each($pushToList);
return $list;
}
如果您希望在一个 GridField 中管理多个对象,则可以查看 gridfieldextensions,特别是 GridFieldAddNewMultiClass 组件。
【讨论】: