function __construct(AbstractReflecterFactory $aDBReflecterFactory, $sTable, $sDBName = null) { $aDB = $aDBReflecterFactory->db(); if (!($aResult = $aDB->query($this->makeGetColumnsSql($sTable, $sDBName))) or $aResult->rowCount() == 0) { $this->bIsExist = false; return; } // 反射字段 $arrColumnNames = $aResult->fetchAll(\PDO::FETCH_ASSOC); foreach ($arrColumnNames as $arrColumn) { $this->arrColumnNames[] = $arrColumn['Field']; } if ($aResult = $aDB->query($this->makeTableStatusSql($sTable))) { $arrRow = $aResult->fetch(\PDO::FETCH_ASSOC); $this->sComment = $arrRow['Comment']; $this->nAutoINcrement = $arrRow['Auto_increment']; } // 反射所有索引 $this->arrIndexes = MySQLIndexReflecter::reflectTableIndexes($sTable, $sDBName, $aDB); // 主键 if (isset($this->arrIndexes['PRIMARY'])) { $this->sPrimaryName = reset($this->arrIndexes['PRIMARY']->columnNames()); } $this->sName = $sTable; }
public function __construct(DB $aDB, array $arrMockupStruct) { parent::__construct($aDB); $this->arrMockupStruct = $arrMockupStruct; }