Php Zend#u工具,创建db-table.from-database不';t在项目中工作(未找到模块)

Php Zend#u工具,创建db-table.from-database不';t在项目中工作(未找到模块),php,mysql,zend-framework,Php,Mysql,Zend Framework,我有一个带有现有数据库的Zend Framework项目,因此我想基于数据库中的表创建模型。我可以在命令行和Netbeans中运行zf命令,例如生成控制器/表单就可以了。但是,当我想使用命令从数据库创建模型时 zf create db-table.from-database application force-overwrite 它给了我这个错误: A models directory was not found for module application.

我有一个带有现有数据库的Zend Framework项目,因此我想基于数据库中的表创建模型。我可以在命令行和Netbeans中运行zf命令,例如生成控制器/表单就可以了。但是,当我想使用命令从数据库创建模型时

zf create db-table.from-database application force-overwrite
它给了我这个错误:

A models directory was not found for module application.               

Zend Framework Command Line Console Tool v1.12.1
Details for action "Create" and provider "DbTable"
  DbTable
    zf create db-table name actual-table-name module force-overwrite
    zf create db-table.from-database module force-overwrite
当我试着用它的时候,同样的事情也会发生

zf create db-table.from-database Application force-overwrite
只是澄清一下:models目录确实存在于我的项目文件夹中。我假设我必须进入应用程序,因为它是我正在使用的模块(默认模块)


我的数据库连接也很好,因为我可以很好地执行查询。有人知道如何修复此问题吗?

我没有使用此功能,但“应用程序”不是一个模块。如果你不想让它扫描一个特定的模块文件夹,我猜你会忽略这个参数。如果只调用
zf create db-table.from-database force overwrite
,会发生什么情况

与大多数情况一样,问题可能很简单,比如区分大小写和/或拼写错误的目录名/路径。
我不相信没有交互/仿真就可以解决这个问题。

我从未见过zf创建db表。从数据库中创建数据库在任何情况下都可以工作。但是,如果您想尝试使用netbeans命令,该命令应该是
-m default
('default'是模块,添加-f表示强制覆盖),则生成的命令将如下所示:
zf create db-table.from-database-m default

就我个人而言,我只是使用
zf create db table
命令来创建我需要的db table模型

此命令将工作
zf create db table users-m admin-f
,其中
-m admin
(似乎需要-m)是模块,
-f
表示强制重写。第一个
users
是类的名称(Application\u Model\u DbTable\u users,users.php),第二个
users
是数据库表的实际名称

我不知道你对一个模型的期望是什么,你将得到的东西非常类似于:

<?php

class Application_Model_DbTable_User extends Zend_Db_Table_Abstract
{
    protected $_name    = 'users';
}