带有表别名的PHP LEAP ORM查询
目前我正在使用LEAP ORM for kohana,并尝试创建一些sql查询。这些查询是针对oracle数据库的。我能够成功连接并查询此数据库。但是,当我尝试使用这些别名为表和引用列添加别名时,语法不起作用。下面是我目前拥有的带有表别名的PHP LEAP ORM查询,php,kohana-3,kohana-orm,Php,Kohana 3,Kohana Orm,目前我正在使用LEAP ORM for kohana,并尝试创建一些sql查询。这些查询是针对oracle数据库的。我能够成功连接并查询此数据库。但是,当我尝试使用这些别名为表和引用列添加别名时,语法不起作用。下面是我目前拥有的 return $this->db->query("select HRB.PARENT_COMPANY FROM COMPANY_TABLE HRB INNER JOIN OTHER_TABLE BTR HRB.ID = BTR.WID W
return $this->db->query("select HRB.PARENT_COMPANY
FROM COMPANY_TABLE HRB
INNER JOIN
OTHER_TABLE BTR
HRB.ID = BTR.WID
WHERE HRB.NAME LIKE '".$VAL."%;");
它似乎不喜欢HRB
错误消息
ErrorException [ Warning ]: oci_execute(): ORA-00904: "GPR"."GIS_PROP_FCNB_1": invalid identifier
MODPATH\leap\classes\Base\DB\Oracle\DataReader\Standard.php [ 57 ]
52 throw new Throwable_SQL_Exception('Message: Failed to query SQL statement. Reason: :reason', array(':reason' => $reason));
53 }
54 if ( ! is_integer($mode)) {
55 $mode = 32;
56 }
57 if ( ! oci_execute($command, $mode)) {
58 $error = @oci_error($command);
59 $reason = (is_array($error) AND isset($error['message']))
60 ? $error['message']
61 : 'Unable to perform command.';
62 throw new Throwable_SQL_Exception('Message: Failed to query SQL statement. Reason: :reason', array(':reason' => $reason));
如果删除了表别名,将引发以下错误
ErrorException [ Warning ]: oci_execute(): ORA-00918: column ambiguously defined
表示DB_ORM中不支持表别名
试试这个:
return $this->db->query("select COMPANY_TABLE.PARENT_COMPANY
FROM COMPANY_TABLE
INNER JOIN OTHER_TABLE COMPANY_TABLE.ID = OTHER_TABLE.WID
WHERE OTHER_TABLE.NAME LIKE '".$VAL."%;");
它是否在没有表别名的情况下工作,即
公司\u表。父公司\u公司
?如果这是实际的SQL,那么您是;它应该是公司表格中的HRB,我感谢您的帮助。但是这些表的别名是正确的。它可能不是PL/SQL。ORM通常不使用特定于供应商的语法。尝试作为
变体。仍然是一个问题。早在我第一次使用ALIAS.Columnorm时,我使用的IDE就在抱怨。Columnorm不支持使用ALIAS。真的,你不应该需要它。事实上,这是行不通的,因为母公司在两个表中。如果没有别名,列将是不明确的。