我正在为我的 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];
对不起,如果这是令人费解的,但希望你能提供帮助!:)