Example #1
0
 protected function _setPrimaryField()
 {
     if (self::$_primaryField != "") {
         return;
         // primary field already known
     }
     $res = $this->_db->executeSQL("SHOW COLUMNS FROM `{$this->_table}`");
     if (!$res) {
         throw new ModelException("Invalid query - " . $this->_db->getError());
     }
     $has_key = false;
     $res = $this->_db->getResultset();
     foreach ($res as $row) {
         if ($row['Key'] == 'PRI') {
             self::$_primaryField = $row['Field'];
             $has_key = true;
         }
         self::$_metadata[$row['Field']] = $row['Type'];
     }
     if ($has_key) {
         return;
     }
     throw new ModelException("Table {$this->_table} does not have primary key");
 }