<?php
/**
* 加载字典
* @author fzqyr
*
*/
include APPPATH . 'enums/SystemEnum.php';
include APPPATH . 'enums/TableNames.php';
class LoadConfigBiz extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->load->database();//加载数据库类
}
public function devLoadDbTable()
{
$strTableNames = '<?php';
$strTableNames .= PHP_EOL;
$strTableNames .= PHP_EOL . '/**
* 表名
* @author fzqyr
* ' . date( 'Y-m-d H:i:s', $_SERVER[ 'REQUEST_TIME' ] ) . PHP_EOL . '*/' .
PHP_EOL;
$strTableNames .= 'class TableNames' . PHP_EOL . '{' . PHP_EOL;
$tables = $this->db->list_tables();
foreach( $tables as $table )
{
$strSQL = "show create table `$table`";
$query = $this->db->query( $strSQL );
$arr = $query->result_array();
foreach( $arr as $t )
{
$str = $t[ 'Create Table' ];
$str = substr( $str, strrpos( $str, ')' ) + 1 ) . PHP_EOL;
$iPos = strpos( $str, 'COMMENT' );
if( $iPos )
{
$str = substr( $str, $iPos + strlen( 'COMMENT' ) + 1 );
$str = str_replace( '\'', '', $str );
$str = str_replace( '\r\n', PHP_EOL . "\t* ", $str );
$strTableNames .= PHP_EOL;
$strTableNames .= "\t/**" . PHP_EOL . "\t* ";
$strTableNames .= ($str . "\t*/" . PHP_EOL);
$strTableNames .= ("\tCONST " . strtoupper( $table ) .
" = '$table';" . PHP_EOL );
}
else
{
$strTableNames .= ( PHP_EOL . "\tCONST " .
strtoupper( $table ) . " = '" . $table . "';" .
PHP_EOL);
}
}
}
$strTableNames .= PHP_EOL . '}' . PHP_EOL;
file_put_contents( APPPATH . 'enums/TableNames.php', $strTableNames );
echo 'generate tablenames success!';
}
}
?>
CI依据mysql数据库生成tablename枚举类
最新推荐文章于 2024-05-10 14:31:45 发布