问题描述
Symfony使用schema.yml为每个数据库表创建一个模块。因此,考虑使用一个简单的示例就可以在用户模块中快速修改“ 0”表:
$users = new users;
$id = $users->getUserId();
我明白了。但是,如果我在另一个具有自己的数据库表的模块中怎么办?如何从那里访问用户数据?
附带问题:是否有一个好的Mac IDE来查找可从某个模块访问的所有变量?我正在接一个项目,对结构和可变可用性/传递有点困惑。任何工具/提示?
解决方法
schema.yml用于生成您的MODEL对象,而不是模块。您的模型定义了项目的基础数据结构,模块将操作和视图组合在一起。
听起来您正在使用Symfony生成的管理模块,对吗?如果是这样,请更具体地说明您要在哪里使用不同的模型。在列表中吗?编辑表格?等等..
一般来说,您可以从项目中的任何位置访问模型对象-它们不仅限于特定的模块甚至是应用程序(例如,前端,后端)。这样一来,就可以访问许多模型。在您的情况下,您可以尝试使用
Doctrine::getTable(\'Users\')->find(USER_ID_HERE)
来获取特定的Users
对象。
您的示例代码中有一个错误。应该是$users = new users();
修复后,该代码应可在您的应用程序中的任何地方工作。
至于IDE,请查看Netbeans。它的自动完成和代码反射效果很好。