Undefined function: 7 ERROR: operator does not exist: public.ltree public.< public.ltree[]
Undefined function: 7 ERROR: operator does not exist: public.ltree public.< public.ltree[]
当我使用 PostgreSQL
中的 ltree
时,PHP 出现问题。
我在 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.<@)
非常感谢。
当我使用 PostgreSQL
中的 ltree
时,PHP 出现问题。
我在 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.<@)
非常感谢。