为什么在Laravel中使用DB :: raw在DB :: select中?

时间:2015-08-05 00:14:56

标签: php mysql laravel

在运行查询时是否必须使用函数DB::raw并且您没有在Laravel中使用流畅的查询构建器?

e.g。

$result = DB::select("SELECT * FROM users");

$result2 = DB::select(DB::raw("SELECT * FROM users"));

我在两种情况下得到相同的结果。那么为什么有必要使用DB::raw

1 个答案:

答案 0 :(得分:3)

  

DB::raw()用于制作未经解析的任意SQL命令   查询构建器的任何进一步。因此,它们可以通过SQL注入create a vector for attack

检查此参考。链接,包含更多详细信息:http://fideloper.com/laravel-raw-queries

DB::rawDB::select

Example