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 语句不返回任何内容
phalcon: Windows 下 Phalcon dev-tools 配置 和 Phpstorm中配置Phalcon 代码提示