/** * Fetch entities list * * @return array * */ public function loadEntities() { if (empty($this->entities)) { $configEntities = $this->getEntitiesConfig()->children(); if (!empty($configEntities)) { foreach ($configEntities as $entity) { /** @var $entity \SimpleXMLElement */ $this->entities[$entity->getName()] = ['entity' => $entity->getName(), 'comment' => (string) $entity->comment, 'model_class' => !empty($entity->model_class) ? (string) $entity->model_class : self::DEFAULT_MODEL_CLASS]; $this->defineEntityIdFieldName($entity)->defineEntityTableName($entity); $this->entities[$entity->getName()]['count'] = $this->getEntityModel($entity->getName())->getOrm()->totalCount(); } } else { foreach ($this->db->execute('SHOW TABLES;')->fetchAll() as $table) { $this->entities[$table[0]] = ['table_name' => $table[0], 'entity' => $table[0], 'comment' => null, 'model_class' => null, 'id_field' => 'id']; $this->entities[$table[0]]['count'] = $this->getEntityModel($table[0])->getOrm()->totalCount(); } } } return $this->entities; }
/** * Set the raw query * * @param $rawQuery * @param array $rawParams * @return Orm */ public function executeRawQuery($rawQuery, $rawParams = []) { $this->statement = $this->db->execute($rawQuery, array_values($rawParams)); return $this; }