PHALCON理解PHQL的一个坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHALCON理解PHQL的一个坑相关的知识,希望对你有一定的参考价值。

在PHALCON的官方文档中,对PHQL的说明算是挺清晰了,值得一提的是,当在多modules项目中这个官方文档就有坑。特此记录。

PHQL对数据库的的操作不是直接的运行SQL,而是对模型文件的转化,形如有phql如下:

"SELECT * FROM member"  ->如果直接以SQL去理解很简单。但在PHQL中是以member为模型,然后对getSource()方法返回值的表进行操作。转换之后SQL形如

"SELECT * FROM ".new Member()->getSource();

此时如果未在loader中注册类或者,没有附带上命名空间信息则会报错 model not found,

模型命名空间形如namespace Shop\Models;在PHQL中的SELECT *语句应该为 

"SELECT * FROM Shop\Models\Member" 而非from表名;

以上是关于PHALCON理解PHQL的一个坑的主要内容,如果未能解决你的问题,请参考以下文章

Php Phalcon - Select 语句不返回任何内容

一个神奇的PHP框架:Phalcon 之编译安装

Phalcon 重定向和转发

phalcon: Windows 下 Phalcon dev-tools 配置 和 Phpstorm中配置Phalcon 代码提示

Phalcon 开发工具(Phalcon Developer Tools)

phalcon: 表单