2019-08-01 18:36:38 1832次浏览 1条回答 0 悬赏 100 金钱

$activeRecord = Active::instance();
$activeRecord -> find(1);

怎么获取原始的sql语句????

  • 回答于 2019-08-02 09:31 举报

    来,在你的基础上再加两行代码:

    $activeRecord = Active::instance();
    $activeRecord -> find(1);
    ......可以继续写其它的select,where,
    最终
    $sql = $activeRecord->createCommand()->getRawSql();
    

    试试咋样

    2 条回复
    回复于 2019-08-05 21:44 回复

    不行的,find的和createCommand是两个类

    回复于 2019-08-06 07:49 回复

    看着有点陌生,instance方法是原生的吗?另外,find(1)又是啥方法?为啥还有参数1?
    其实关键一步需要转成查询构造器就行。

     //实例化AR
     $model = new User();
     //AR获取查询对象AQ(activeQuery),这是关键一步,AQ是就是查询构造器
     $query = $model->find();
     //继续其它的组装
     $query->where('name'=>'liushifu');
     //最终通过它打印sql
     var_dump($query->createCommand()->getRawSql())
    
您需要登录后才可以回答。登录 | 立即注册
Zhucola
经理

Zhucola China

注册时间:2019-06-17
最后登录:2019-10-12
在线时长:11小时36分
  • 粉丝11
  • 金钱800
  • 威望100
  • 积分1910

热门问题