2016-11-01 2 views
1

異なるクラスのデータオブジェクトのループ可能なリストを作成したいと思います。異なるクラスのデータオブジェクトを1つのリストに表示する - SilverStripe 3.4

そのような何かが、

DataObject::get()->filter('ClassName, ['MyClass', 'MyOtherClass']); 

サブクラス化せずにそれを実現する方法はあります機能?

public function getCombinedList() 
{ 

    $list = ArrayList::create(); 
    $pushToList = function($object) use (&$list) 
    { 
     $list->push($object); 
    }; 

    MyClass::get()->each($pushToList); 
    MyOtherClass::get()->each($pushToList); 

    return $list; 

} 

を使用すると、1つGridFieldで複数のオブジェクトを管理するために探しているなら、あなたは、具体的GridFieldAddNewMultiClassコンポーネント、gridfieldextensionsをチェックアウトすることができます:

答えて

2

は、両方のオブジェクトのリストをArrayListを作成することができますcsy_dot_io。

関連する問題