嘿,
我想从三个表中收集数据,但我真的不知道如何做到这一点,因为我想创建多维数组并使用它们与PHP。我是pgsql的新手,所以我真的不知道限制是什么:)
那么有人能告诉我如何创建一个简单的pgsql数组吗?
感谢
答案 0 :(得分:1)
在Postgre中有array-datatypes(几乎每种普通数据类型的数组版本)。但我不建议使用它们,特别是不与PHP结合使用。因为使用当前的数据库函数,它将以字符串形式返回数组。它也违背了关系数据库的目的,其中数组应被视为一列的行数。不是单列的单行。
试着回答你的问题。你的problaby应该将多维数组的“最深”元素视为数据库中的“行”。其中有几列指定了获取值所需的路径。
示例:
while($row = $result->fetch_object()) {
$multi_array[$row->base][$row->layer] = $row->value
}
答案 1 :(得分:0)
通常,数据库将返回精简结果的平面数组。因此,您最有可能无法执行单个查询以最终方式获得嵌套项目。但是,我没有使用过PostgreSQL。
我的建议是进行多次查询以获取所需的数据,然后将它们置于所需的配置中。
也许与Postgre合作的人可以确认一下?