Craft\NeoFieldType::getEagerLoadingMap PHP 메소드

getEagerLoadingMap() 공개 메소드

Returns an array that maps source-to-target element IDs based on this custom field.
public getEagerLoadingMap ( craft\BaseElementModel[] $sourceElements ) : array
$sourceElements craft\BaseElementModel[]
리턴 array
    public function getEagerLoadingMap($sourceElements)
    {
        $sourceElementIds = [];
        foreach ($sourceElements as $sourceElement) {
            $sourceElementIds[] = $sourceElement->id;
        }
        // Return any relation data on these elements, defined with this field
        $map = craft()->db->createCommand()->select('ownerId as source, id as target')->from('neoblocks')->where(['and', 'fieldId=:fieldId', ['in', 'ownerId', $sourceElementIds]], [':fieldId' => $this->model->id])->queryAll();
        return ['elementType' => Neo_ElementType::NeoBlock, 'map' => $map, 'criteria' => ['fieldId' => $this->model->id]];
    }