Pimcore\Model\Object\Data\ObjectMetadata\Dao::load PHP Метод

load() публичный Метод

public load ( Concrete $source, $destination, $fieldname, $ownertype, $ownername, $position, $type = "object" ) : null | Pimcore\Model\Dao\Pimcore_Model_Abstract
$source Pimcore\Model\Object\Concrete
$destination
$fieldname
$ownertype
$ownername
$position
$type
Результат null | Pimcore\Model\Dao\Pimcore_Model_Abstract
    public function load(Object\Concrete $source, $destination, $fieldname, $ownertype, $ownername, $position, $type = "object")
    {
        if ($type == "object") {
            $typeQuery = " AND (type = 'object' or type = '')";
        } else {
            $typeQuery = " AND type = " . $this->db->quote($type);
        }
        $dataRaw = $this->db->fetchAll("SELECT * FROM " . $this->getTablename($source) . " WHERE o_id = ? AND dest_id = ? AND fieldname = ? AND ownertype = ? AND ownername = ? and position = ? " . $typeQuery, [$source->getId(), $destination->getId(), $fieldname, $ownertype, $ownername, $position]);
        if (!empty($dataRaw)) {
            $this->model->setElement($destination);
            $this->model->setFieldname($fieldname);
            $columns = $this->model->getColumns();
            foreach ($dataRaw as $row) {
                if (in_array($row['column'], $columns)) {
                    $setter = "set" . ucfirst($row['column']);
                    $this->model->{$setter}($row['data']);
                }
            }
            return $this->model;
        } else {
            return null;
        }
    }