如何从 Laravel 的 Query Builder 中获取原始 SQL 查询字符串?
大家好。我是 Laravel 新手,正在尝试调试一个使用 Query Builder 的复杂查询。我需要查看 Eloquent 生成的 SQL 查询,以检查 JOIN 和 WHERE 是否正确构建。
问题在于,我使用 `DB::table('users')->select(...)->where(...)->get()` 时一切正常,但我想在执行前查看最终的 SQL,以确保其正确性。例如,我有如下代码:
```php
$users = DB::table('users')
->join('orders', 'users.id', '=', 'orders.user_id')
->where('users.active', 1)
->whereIn('orders.status', ['pending', 'processing'])
->orderBy('users.created_at', 'desc')
->get();
```
我尝试过使用 `->toSql()`,但它返回的查询带有占位符 `?` 而非实际值(例如 `WHERE users.active = ?`)。而我需要的是已替换好值的完整 SQL,以便复制到 phpMyAdmin 或 HeidiSQL 中执行验证。
请问是否有方法可以获取到这样的 SQL?