Laravel查询生成器输出测试

Coz*_*bie 1 sql testing laravel laravel-4

我只是想知道是否有人知道测试Laravel Query Builder输出并进行试验的方法。

例如,在PHPMYADMIN中,您可以运行并测试不同的SQL查询,并查看错误以及所有错误,然后再决定在代码中使用它。可以使用Laravels查询生成器完成此操作吗?有谁知道任何有用的工具来测试查询生成器的输出?

谢谢。

Jar*_*zyk 5

您需要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
Run Code Online (Sandbox Code Playgroud)