Загрузка Агрегатных связей

Загрузка связей по модели aggregate one для MODX REVOLUTION

Без привязки

    /* @var Data $data */
    protected $data = null;

    /**
     * Loads Data
     */
    public function loadData($false = false)
    {
        if (!is_object($this->data) || !($this->data instanceof Data)) {
            if (!$this->data = $this->getOne('Data')) {
                $this->data = $false ? false : $this->xpdo->newObject('Data');
            }
        }
        return $this->data;
    }

С привязкой 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 array $subscribers */
    protected $subscribers = null;

/**
     * Loads Data
     */
    public function loadSubscribers($false = false)
    {
        if (!is_object($this->subscribers)) {
            if (!$this->subscribers = $this->getMany('Subscribers', $q)) {
                $this->subscribers = $false ? false : array();
            }
        }
        return $this->subscribers;
    }
31 августа 2018, 14:41    329

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Наверх