DB::select 失败 Laravel 5.2

DB::select failing in Laravel 5.2

我有一个 Laravel 5.2.45 应用程序,另外,我有一个复杂的查询要做,所以我尝试使用以下方式查询它:

DB::select("the query");

我读到这应该有效,但事实并非如此,所以只是测试我将查询简化为:"Select * from aTable" 但它也没有给出任何结果,加载网页需要很长时间然后什么也没显示。我正在使用这个:dd(DB::select("SELECT * FROM myTable AS mt"))

所以,我想知道 exaclty 发生了什么,它在 Laravel 5.2 中仍然是一个有效函数?这是一个非常简单的查询,我不确定失败的原因。提前致谢!

这很奇怪,但你可以检查你的查询日志来找出问题

     $users = DB::select('SELECT * FROM myTable AS mt');
     print_r(DB::enableQueryLog());

如何启用查询日志

https://github.com/laravel/framework/commit/e0abfe5c49d225567cb4dfd56df9ef05cc297448

试试这个:

$users = DB::table('myTable')->get();

我认为您正在尝试执行原始查询。如果您在 laravel 中执行原始查询,请尝试这种方式:

$tableData = DB::select( DB::raw("SELECT * FROM table WHERE id = 100 ") ); dd($tableData);

您也可以在辅助函数中设置自定义函数来打印数据,例如

function pr($var){ echo "<pre>"; print_r($var); echo "</pre>"; }

你可以打电话给 pr($tableData);

我认为这对你有用。谢谢 :)