mautic / app /bundles /LeadBundle /Segment /TableSchemaColumnsCache.php
chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
namespace Mautic\LeadBundle\Segment;
use Doctrine\ORM\EntityManager;
class TableSchemaColumnsCache
{
/**
* @var array
*/
private $cache;
public function __construct(
private EntityManager $entityManager
) {
$this->cache = [];
}
/**
* @return array|false
*/
public function getColumns($tableName)
{
if (!isset($this->cache[$tableName])) {
$columns = $this->entityManager->getConnection()->createSchemaManager()->listTableColumns($tableName);
$this->cache[$tableName] = $columns ?: [];
}
return $this->cache[$tableName];
}
/**
* @return $this
*/
public function clear()
{
$this->cache = [];
return $this;
}
/**
* @return string
*/
public function getCurrentDatabaseName()
{
return $this->entityManager->getConnection()->getDatabase();
}
}