public optimizeFields ( array $fields ) | ||
$fields | array |
public function optimizeFields(array $fields)
{
$this->fields = $fields;
foreach ($this->fields as $field) {
foreach ($field as $source => $ids) {
if (!isset($this->requests[$source])) {
$this->requests[$source] = [];
}
foreach ($ids as $id) {
$this->requests[$source][] = $id;
}
$this->requests[$source] = array_unique($this->requests[$source]);
}
}
return $this;
}
/** * Attempts to load all static data within the children DTO * objects. * * @param Staticdata $staticData * @return $this */ public function loadStaticData(Staticdata $staticData) { $fields = $this->getStaticFields(); $optimizer = new StaticOptimizer(); $optimizer->optimizeFields($fields)->setStaticInfo($staticData); $this->addStaticData($optimizer); return $this; }