【发布时间】:2010-11-22 10:24:50
【问题描述】:
我正在为我的 Zend Framework 库开发一个 Active Record 模式(类似于 RoR/Cake)。我的问题是:如何确定选择对象是否使用表的别名?
$select->from(array("c" => "categories"));
对比
$select->from("categories");
然后我将它传递给“获取”函数,该函数添加了额外的连接和诸如此类的自动获取行关系...我想添加一些自定义 sql; “c.id”或“categories.id”取决于用户如何使用“from”方法。
我知道我可以使用
$parts = $select->getPart(Zend_Db_Select::FROM);
将数据作为数组获取,表名或别名似乎在所述数组的“槽”0中。表名或别名是否总是在零槽中?即我可以可靠地使用:
$tableNameOrAlias = $parts[0];
对不起,如果这令人费解,但希望您能提供帮助! :)
【问题讨论】:
-
只是一个提示,这里你称之为“slot”的正确名称是index。所以array[0]是索引0,array['c']是索引'c'。
标签: zend-framework zend-db-select aliases