gpt4 book ai didi

php - 未定义函数 : 7 ERROR: operator does not exist: public. ltree public.< public.ltree[]

转载 作者:行者123 更新时间:2023-11-29 12:23:49 46 4
gpt4 key购买 nike

我在使用 ltree 时遇到 PHP 问题来自 PostgreSQL .我在 SQL 中这样做:

SELECT * FROM tabla t
WHERE t.parent_path <@ (
select array_agg(t1.parent_path)
from tabla t1
where t1.id in (1000035, 1000045, 1000055, 1000065)
)

我在 phpmyadmin 中运行查询并且它工作正常,但是当我复制和粘贴时,在 PHP 中它不起作用。我做了一些研究,发现在 PHP 中我需要更换 "<@" and "@>" for "OPERATOR(public.<)" and "OPERATOR(public.>)"分别。

我在 php 中使用简单的 ltree 查询对其进行了测试,例如:

$sql = "SELECT * FROM tabla t
WHERE t.parent_path OPERATOR(public.<) (
select t1.parent_path
from tabla t1
where t1.id in = 1000035
)";
$conn = Zend_Registry::get('conexion');
$respdata = $conn->execute($sql);
return $respdata->fetchAll(PDO::FETCH_ASSOC);

它工作正常,但问题是在我想执行的真实查询中,我在左侧有一个 ltree在另一边一个ltree[] , 和当我使用“OPERATOR(public.<)”时,它给了我这个错误:

"Undefined function: 7 ERROR: operator does not exist: public.ltree public.< public.ltree[]"

这就是我想要做的...

$sql = "SELECT * FROM tabla t
WHERE t.parent_path OPERATOR(public.<) (
select array_agg(t1.parent_path)
from tabla t1
WHERE t1.id IN (1000035, 1000045, 1000055, 1000065)
)";
$conn = Zend_Registry::get('conexion');
$respdata = $conn->execute($sql);
return $respdata->fetchAll(PDO::FETCH_ASSOC);

任何建议.... tks。对不起,如果我的英语不好。

最佳答案

好吧,感谢 IMSoP 我找到了答案。

改变

OPERATOR(public.<) 

对于

OPERATOR(public.<@)

非常感谢。

关于php - 未定义函数 : 7 ERROR: operator does not exist: public. ltree public.< public.ltree[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53763703/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com