如何解决Yii2 活动记录到原始 sql
我想将 yii2 的活动记录查询转换为等效的原始 sql,以检查查询是否正常工作。
使用 tosql()
方法很容易将 Laravel 的 Eloquent ORM 转换为原始 sql
https://laravel.com/api/8.x/Illuminate/Database/Query/Builder.html#method_toSql
yii2 有没有什么办法可以实现这个结果,因为我只能找到从原始 sql 到活动记录实现的解决方案。
如果问题还没有说清楚,会添加示例进行进一步说明。
解决方法
是的,您可以使用 query->command
的属性 sql 或方法 rawSql(),例如:
$querySql = Model::find()->where(...)->createCommand()->sql;
$querySql = Model::find()->where(...)->createCommand()->getRawSql();
// Or,if you want to use the query somewhere else
$query = Model::find()->where(...);
...
$sql = $query->createCommand()->sql;
如果您只是在调试,在调试工具栏上查看查询可能更容易。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。