Source of file DataFilterEagerLoadingExtension.php
Size: 0,954 Bytes - Last Modified: 2021-12-24T06:50:30+00:00
/var/www/docs.ssmods.com/process/src/src/DataFilterEagerLoadingExtension.php
123456789101112131415161718192021222324252627282930313233343536373839 | <?php namespace Gurucomkz\EagerLoading; use SilverStripe\ORM\DataExtension; /** * * @property-read \SilverStripe\ORM\DataList $owner * */ class DataFilterEagerLoadingExtension extends DataExtension { public $withList = []; public $withListOriginal = []; public function with($list) { // return $this->owner; if (!isset($this->owner->withList)) { $this->owner->withList = []; } if (!isset($this->owner->withListOriginal)) { $this->owner->withListOriginal = []; } if (!is_array($list)) { $list = [$list]; } $this->owner->withListOriginal = $list; $list = array_map( function ($e) { return explode('.', $e); }, $list ); $this->owner->withList = array_merge($this->owner->withList, $list); return EagerLoadedDataList::cloneFrom($this->owner); } } |