【发布时间】:2016-06-10 23:07:45
【问题描述】:
我想使用 propel 输出所有模式表。当引用特定的TableMap
$users = UsersTableMap::getTableMap();
$map = $users->getDatabaseMap();
$tables = $map->getTables(); //yields an object, holds only Users table
有没有办法不使用特定表(例如Users)但有更通用的方法?有点过时的question here 面临同样的问题。
我应该进行自定义查询还是解析schema.xml 以检索所有表?
更新
下面给出的一些解决方案作为答案产生空数组
$map = Propel::getServiceContainer()->getDatabaseMap(); //w & w/o string argument
$tables = $map->getTables(); //an empty array
【问题讨论】:
-
它会产生一个空数组,因为您需要事先初始化所有 TableMap,如果您有很多且内存不足,这将非常慢。更好地解析 .schema.xml