在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表名;
时间: 2024-10-08 02:18:07