只是想知道是否有人知道测试Laravel Query Builder输出并试验它的方法。
例如,在PHPMYADMIN中,您可以在决定在代码中使用它之前运行并测试不同的SQL查询并查看错误。可以使用Laravels查询构建器完成吗?有没有人知道测试查询构建器输出的任何有用工具?
感谢。
答案 0 :(得分:4)
您希望在命令行中使用artisan tinker
工具。这是一个REPL,它完全符合您的要求。
这是示例输出(允许直接在cli中直接播放您的应用):
~/$ php artisan tinker
[1] > DB::table('some_table')->where('some_field', '=', 'someValue')->groupBy('some_other_field')->toSql();
// 'select * from `some_table` where `some_field` = ? group by `some_other_field`'
[2] > User::where('id', '>', 1)->toSql();
// 'select * from `users` where `users`.`deleted_at` is null and `id` > ?'
[3] > User::where('id', '>', 1)->get();
// object(Illuminate\Database\Eloquent\Collection)(
//
// )
[4] > User::where('WRONG', 1)->get();
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'WRONG' in 'where clause'' in ...
[5] > User::where('id', 1)
[5] *> ->orWhere('id', 2)
[5] *> ->latest()
[5] *> ->first();
// object(User)(
// 'incrementing' => true,
// 'timestamps' => true,
// 'exists' => true
// )
[6] > DB::getQueryLog();
// ... all queries will be shown here
答案 1 :(得分:1)
您可以使用https://github.com/barryvdh/laravel-debugbar,它会为您提供所有已执行的查询及其输出和其他内容。