摘要:先引入类确定查询表关联表需要查询的字段,这里两个表的字段都可以当数据很大时,统计数据时用条件你好执行搜索执行模糊搜索设置条件,什么的都可以往后加注意这里的条件和原始语句中的语句刚好相反获取查询对象执行并返回结果
先引入Builder类
use PhalconMvcModelQueryBuilder as QueryBuilder;
public function mytestAction(){ $builder = new QueryBuilder(); //确定查询表 $builder -> from(["parts"=>"Test3FrontendModelsParts"]); //关联表 $builder -> innerJoin("Test3FrontendModelsRobots", "robots.id = parts.robots_id","robots"); // 需要查询的字段,这里两个表的字段都可以 $builder -> columns([ "robots.name", "parts.id", "count(parts.id) as count", //当数据很大时,统计数据时用 ]); // where条件 $builder -> where("parts.id = :id:",array("id" =>1)); // andWhere $builder -> andWhere("robots.name = :name:",array("name" => "你好")); //执行搜索 if (isset($params["conditions"])) { foreach ($params["conditions"] as $field => $val) { if (!preg_match("/^s*$/", $val)) { //执行模糊搜索 $builder->andWhere("providers.$field like :$field:", array($field => "%" . trim($val) . "%")); } } } // 设置limit条件,order什么的都可以往后加$builder->order() $builder->limit(5,5); // $builder->limit($rows, ($currentPage - 1) * $rows); 注意:这里的limit条件和原始sql语句中的limit语句刚好相反 //获取查询对象 $query = $builder->getQuery(); //执行并返回结果 $result = $query->execute(); var_dump($result -> toArray());die; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30361.html
摘要:查询语言查询语言,简称或,是一种面向对象的高级语言,允许用标准化的编写。该对象的每个成员都是一个包含所查询字段的标准对象。 Phalcon查询语言(Phalcon Query Language) Phalcon查询语言,简称PhalconQL或PHQL,是一种面向对象的高级SQL语言,允许用标准化的SQL编写。PHQL实现了把操作语句解析为RDBMS目标语言的解析器(C语言编写)。 为...
摘要:本文描述了框架中数据库操作方法,主要讨论框架的组件中的操作方法。属性方法在框架中支持属性的扩展查询,在上例中,可以把条件语句改为同时省略查询条件结果不变。 本文描述了PHP-Phalcon框架中数据库操作方法,主要讨论Phalcon框架的Model组件中的操作方法。更详细的Model介绍请参考:官方文档 1. 连接数据库 在Phalcon框架中,通过在DI中注入db参数来实现数据库的...
摘要:帮助你开始使用的简易指南。第一种方式参考第二种方式参考使用参考简单粗暴的理解是把下的对应成数据库的表,类属性对应表字段。 帮助你开始使用 phalcon 的简易指南。 简介 Phalcon 2将于2015年4月17日发布,这个版本大约85%的代码是基于 Zephir 语言重写的。Zephir是开源的,使用类似PHP语法的语言,生成C语言代码,并编译成PHP扩展。这提高了PHP扩展的开发...
摘要:原文发表于入门教程之模型提供了四种方式操作数据库模型数据库抽象层以及原生。创建模型模型类的命名必须符合驼峰命名法,而且须继承自类文件路径继承自类。 原文发表于:Phalcon入门教程之模型 Phalcon 提供了四种方式操作Mysql数据库:模型、PHQL、数据库抽象层以及原生SQL。不论何种方式,首先都需要在DI中注册 db 服务才能正常使用: DI注册db服务 // 文件路径:...
摘要:异步队列消费者开发只提供了模式下运行控制器方法,并未提供主进程多子进程的进程模型,并未提供多线程处理。多线程异步队列服务只需写好控制器方法,然后在配置文件中配置下路由命名空间进程线程数量,就可在模式中启动多进程多线程模型的异步队列处理程序。 最近业余时间一直在开发ExpressPHP的第二个版本 MixPHP,今天下班想起之前一个面试官的问题:你为什么还要再造一个轮子呢?仔细回想,第一...
阅读 2596·2021-10-14 09:43
阅读 3558·2021-10-13 09:39
阅读 3288·2019-08-30 15:44
阅读 3136·2019-08-29 16:37
阅读 3700·2019-08-29 13:17
阅读 2730·2019-08-26 13:57
阅读 1824·2019-08-26 11:59
阅读 1237·2019-08-26 11:46