加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

YII2的查询生成器有什么用处?如何利用?

发布时间:2022-04-12 16:51:05 所属栏目:语言 来源:互联网
导读:YII2中查询生成器Query()的怎么使用?很多新手学习YII2框架时,对于Query()使用不是很清楚,对此这篇文章就给大家介绍一下生成器Query()的使用方法,本文示例有一定的借鉴价值,有需要的朋友可以看一看。 YII2中的yiidbQuery给我们提供了非常丰富的方法,
       YII2中查询生成器Query()的怎么使用?很多新手学习YII2框架时,对于Query()使用不是很清楚,对此这篇文章就给大家介绍一下生成器Query()的使用方法,本文示例有一定的借鉴价值,有需要的朋友可以看一看。
 
       YII2中的yiidbQuery给我们提供了非常丰富的方法,方便我们构建复杂的SQL语句。
 
       Query()与createCommand最大区别在于,后者直接使用我们写好的SQL语句,前者通过参数和数据库类型生成不同SQL,迁移性更好。
 
<?php
namespace appcontrollers;
 
use YII;
use yiidbQuery;
use yiiwebController;
 
class TestController extends Controller
{
  public function actionTest()
  {
    //YII2的Query的使用
    //Query与createCommand的区别是createCommand是直接写一个SQL来执行。
    //Query是根据参数和数据库类型生成不同的SQL,提升数据库可迁移性。
 
    //通过all查询多条记录
    //我这里用tb_user表来进行演示
    $data1 = (new Query())->select(['id', 'name'])
      ->from('{{%user}}')
      ->all();
 
    //指定where条件查询
    $data2 = (new Query())->select(['id', 'name'])
      ->from('{{%user}}')
      ->where('id=:id', [':id' => '2'])
      ->all();
 
    //通过one查询单条记录
    $data3 = (new Query())->select(['id', 'name'])
      ->from('{{%user}}')
      ->where('id=3')
      ->one();
 
    //判断记录是否存在
    $exists = (new Query())->from('{{%user}}')
      ->where('name="aaa"')
      ->exists();
  
    //多个and条件
    //参数是数组,一个key对应一个value,默认以and拼接
    $data6 = (new Query())->select(['id', 'name'])
      ->from('{{%user}}')
      ->where(['id' => 3, 'name' => 'aaa'])
      ->one();

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读