0

我在我的应用程序中使用PHP ActiveRecord

如何列出数据库的所有表名

这里我已经配置了数据库的连接如下

require_once ActiveRecordDIR.'/ActiveRecord.php';
ActiveRecord\Config::initialize(function($cfg){


    $cfg->set_model_directory('core/models');
    $cfg->set_connections(array('development' =>'mysql://root:pass@localhost/dbname'));
});

在此之后我想列出数据库“dbname”中的所有表名

4

3 回答 3

3

该方法Connection::tables()返回数据库中所有表的数组。然后,您可以 foreach 数组来检索表名。

于 2013-02-25T12:31:10.800 回答
2

Active Record表示单个表中的单行并向其添加业务逻辑,因此在模式方面应该没有办法从 ActiveRecord 查询数据库中的所有表,因为在模式中没有用例。

但是,根据该框架的文档,您可以使用

因此使用原始 SQL 来获取所有表名。我带你知道SQL。

还有一种方法

这可能正在做你想做的事情。

于 2013-02-25T12:22:53.847 回答
1
YourModel::find_by_sql("SELECT `TABLE_NAME` FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA`=?",array('YOUR_DB_NAME'));
于 2013-02-25T12:23:42.537 回答