예제 #1
0
 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;
 }
예제 #2
0
 public function __construct(DB $aDB, array $arrMockupStruct)
 {
     parent::__construct($aDB);
     $this->arrMockupStruct = $arrMockupStruct;
 }