示例#1
0
文件: Misc.php 项目: hatwebtech/dal
 function listTables()
 {
     $sql = "select t.table_name from information_schema.tables t  where t.table_schema = 'public' order by t.table_name";
     $q = \hatwebtech\dal\DAL::query();
     $q->queryStmt($sql);
     $dbg['tables'] = $q->getResultsDbRow();
     $tables = array();
     foreach ($dbg['tables'] as $t) {
         //echo "    '{$t['table_name']}',\n";
         $tables[] = $t['table_name'];
     }
     //\hat\dbg::alert($dbg);
     return $tables;
 }
示例#2
0
文件: Table.php 项目: hatwebtech/dal
 /**
  *  delete
  * @todo unset from $this->_results
  * @todo unset from $this->_has_many_for_save
  */
 public function delete()
 {
     if ($this->_behave('pre_delete') === false) {
         //echo 'pre_delete exit';
         //return false; // is FALSE right response in case of skiping delete???
     }
     $this->preDelete();
     if (empty($this->_primaryKeys)) {
         echo 'no primary keys';
         return false;
     }
     if (!isset($this->_query)) {
         $this->_query = \hatwebtech\dal\DAL::query();
     }
     $this->_query->delete($this->_getModelName());
     foreach ($this->_primaryKeys as $primary_key) {
         if ($this->get($this->_getHumanFieldName($primary_key) . 'Exists', array())) {
             $this->_query->andWhere("{$primary_key} =?", $this->get($this->_getHumanFieldName($primary_key), array()));
         } else {
             throw new \Exception('Error deleting ' . $this->_getModelName() . '; ' . $primary_key . ' not set.');
         }
     }
     //print_r($this->_query->queryDebug()); exit;
     $r1 = $this->_query->queryStmt();
     if ($r1 === false) {
         $r1 = $this->_query->getLastPdoErrorMessage();
         //$r1 = $this->_query->getPdoErrorMessages();
         throw new \Exception('Error deleting ' . $this->_getModelName() . ' with message: ' . $r1);
         return false;
     }
     $this->postDelete();
     $this->_behave('post_delete');
     return true;
 }