如何在YII2框架中使用查询()查询生成器

  介绍

这篇文章将为大家详细讲解有关如何在YII2框架中使用查询()查询生成器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

YII2中的yii \ db \查询给我们提供了非常丰富的方法,方便我们构建复杂的SQL语句。

查询()与createCommand最大区别在于,后者直接使用我们写好的SQL语句,前者通过参数和数据库类型生成不同SQL,迁移性更好。

& lt; php ?   namespace 应用\控制器;   ,   use , YII;   use , yii \ db \查询;   use , yii \ web \控制器;   ,   class  TestController  extends 控制器   {   public 才能;function  actionTest ()   {才能   ,,,//YII2的查询的使用   ,,,//查询与createCommand的区别是createCommand是直接写一个SQL来执行。   ,,,//查询是根据参数和数据库类型生成不同的SQL,提升数据库可迁移性。   ,   ,,,//通过所有查询多条记录   ,,,//我这里用tb_user表来进行演示   ,,,data1 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,();   ,   ,,,//指定在哪条件查询   ,,,data2 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,(& # 39;id=: id # 39;,, (& # 39;: id # 39;,=祝辞,& # 39;2 & # 39;])   ,,,,,,();   ,   ,,,//通过一个查询单条记录   ,,,data3 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,(& # 39;id=3 & # 39;)   ,,,,,,();   ,   ,,,//判断记录是否存在   ,,,exists 美元;=,(new 查询())→(& # 39;{{%用户}}& # 39;)   ,,,,,,,(& # 39;name=癮aa" & # 39;)   ,,,,,→存在();   ,   ,,,if (的存在),{   ,,,,,echo  & # 39; name=aaa 存在& # 39;;   ,,,}   ,   ,,,//定义字段别名   ,,,//注意真实的字段名写后面,别名写前面   ,,,data4 美元;=,(new 查询())→选择((& # 39;id # 39;,=祝辞,& # 39;id # 39;,, & # 39;名字# 39;,=祝辞,& # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,(& # 39;1=1 & # 39;)   ,,,,,,();   ,   ,,,//通过orderby排序,和限制限制条数   ,,,data5 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,(& # 39;1=1 & # 39;)   ,,,,,→orderBy (& # 39; id  desc # 39;)   ,,,,,(3)→限制   ,,,,,,();   ,   ,,,//多个和条件   ,,,//参数是数组,一个关键的对应一个价值,默认以和拼接   ,,,data6 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,((& # 39;id # 39;,=祝辞,3,& # 39;名字# 39;,=祝辞,& # 39;aaa # 39;])   ,,,,,,();   ,   ,,,//条件   ,,,data7 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,((& # 39;id # 39;,=祝辞,[4日,5日,6]])   ,,,,,,();   ,   ,,,//或者如下方式   ,,,data7_2 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,((& # 39;上# 39;,,& # 39;id # 39;,,(4日,5日,6]])   ,,,,,,();   ,   ,,,//数统计   ,,,count 美元;=,(new 查询())→从(& # 39;{{%用户}}& # 39;)→count ();   ,,,echo  & # 39;总记录数:& # 39;,,美元计数;   ,   ,,,//大于,大于等于,小于,小于等于哪条件   ,,,data8 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   ,,,,,,,((& # 39;祝辞=& # 39;,,& # 39;id # 39;,, 5])   ,,,,,,();   ,   ,,,data9 美元;=,(new 查询())→选择((& # 39;id # 39;,, & # 39;名字# 39;])   ,,,,,→从(& # 39;{{%用户}}& # 39;)   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在YII2框架中使用查询()查询生成器