如果使用列,如何获取连接数据?

时间:2014-05-27 11:27:33

标签: php mysql phalcon

我有两个表,ProductGroup和ProductGroupTranslation连接在一起。

在ProductGroup中我有id,在翻译表中我有标题。

现在我想获得所有ProductGroups:

$categories = ProductGroup::find(array(
    "product_group_id IS NULL",
    "order" => "id DESC"
) );

这有效,我可以通过$categories->productgrouptranslation->getTitle();

访问翻译

但是如果我只提取列,我该如何访问连接表:

$categories = ProductGroup::find(array(
   "columns" => "id",
    "product_group_id IS NULL",
    "order" => "id DESC"
) );

1 个答案:

答案 0 :(得分:1)

这是您正在使用的技术的限制。如果您指定要从中检索数据的列,则这些列是您将有权访问的唯一列。

如果你问“我需要指定哪些列只能从连接的结果集中获取id和title”,那么我怀疑答案是将一列列传递给columns列名以表名开头:

$categories = ProductGroup::find(array(
   "columns" => "ProductGroup.id,ProductGroupTranslation.title",
   "product_group_id IS NULL",
   "order" => "id DESC"
) );

将上述表名替换为实际的表名。