Загрузка Агрегатных связей
Загрузка связей по модели aggregate one для MODX REVOLUTION
Без привязки
/* @var null|false|modResource $resource */
protected $resource = null;
/**
* @param bool $returnArray - false вернет массив объекта
* @return bool|modResource|null|object|xPDOObject
*/
public function loadResource($returnArray = false)
{
if (!is_object($this->resource) || !($this->resource instanceof modResource )) {
if (!$this->resource= $this->getOne('Resource')) {
$this->resource= $returnArray ? false : $this->xpdo->newObject('modResource ');
}
}
return $this->resource;
}
С привязкой one
protected $region = null;
/**
* Loads glData
*/
public function loadData($false = false)
{
if (!is_object($this->data) || !($this->data instanceof glData)) {
if (!$this->data = $this->getOne('Data')) {
$this->data = $false ? false : $this->xpdo->newObject('glData');
}
}
return $this->data;
}
Загрузка one при экспорте объекта в массив
/**
* {@inheritdoc}
*/
public function toArray($keyPrefix = '', $rawValues = false, $excludeLazy = false, $includeRelated = false)
{
$array = parent::toArray($keyPrefix, $rawValues, $excludeLazy, $includeRelated);
return $array;
return array_merge($array, $this->loadKladr()->toArray($keyPrefix.'kladr_'), $this->loadFias()->toArray($keyPrefix.'fias_'));
}
getMany
/* @var msCmlMsClassifierField[]|null $classifiares */
protected $classifiares = null;
/**
* Load ClassifierFields
* @return msCmlMsClassifierField[]|null
*/
public function loadClassifiar()
{
if (!is_array($this->classifiares)) {
/* @var msCmlMsClassifierField $item */
if ($items = $this->getMany('ClassifierFields')) {
/* @var msCmlMsClassifierField $item */
foreach ($items as $item) {
$this->classifiares[] = $item;
}
}
}
return $this->classifiares;
}
21 декабря 2018, 10:22 1215
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()