lilongsy 2016-11-17 16:47:26 40148次浏览 5条评论 6 4 0
$query = User::find()->where(['id'=>[1,2,3,4])->select(['username'])

// 输出SQL语句
$commandQuery = clone $query;
echo $commandQuery->createCommand()->getRawSql();

$users = $query->all();
觉得很赞
  • 评论于 2016-11-21 09:35 举报

    请问1.1版本可以吗

    3 条回复
    评论于 2016-11-21 10:03 回复

    应该可以,试试。

    评论于 2016-11-22 09:37 回复

    请问你这个User继承的是什么

    评论于 2016-11-23 17:59 回复

    ActiveRecord 就是一个模型

  • 评论于 2016-11-22 17:34 举报

    那增删改的sql怎么获取呢? save() update() delete()

    5 条回复
    评论于 2016-11-24 17:23 回复

    一样。都是克隆一个请求对象,然后get一下。

    评论于 2016-11-25 10:05 回复

    不行的

    评论于 2016-11-25 17:58 回复

    getRawSql这个方法是Command对象的,需要获取到Command,然后调用这个方法即可。

    评论于 2016-11-28 12:09 回复

    那怎么把这些save() update() delete()转换成你说的Command的对象呢?

    评论于 2016-11-28 15:29 回复

    保存更新和删除,这三种方法是直接通过Connection对象来操作的,可以自定义一下这个对象来获取。

  • 评论于 2016-11-26 08:28 举报

    更新删除 sql怎么打印啊

    2 条回复
    评论于 2016-11-28 15:29 回复

    保存更新和删除,这三种方法是直接通过Connection对象来操作的,可以自定义一下这个对象来获取。

    评论于 2018-04-25 17:51 回复

    怎么自定义?

  • 评论于 2016-12-15 18:00 举报

    不错不错,学习了。。。

            $record = Article::find()->joinWith('articleCategory');
            $query = clone $record;
            $sql = $query->createCommand()->getSql();
            var_dump($sql);die();
    
  • 评论于 2019-11-12 17:18 举报

    没得用,麻烦你妈不要放到上面

您需要登录后才可以评论。登录 | 立即注册