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

Cur*_*rri 10 php mysql laravel

是否必须DB::raw在运行查询时使用该函数,而不是在Laravel中使用流畅的查询构建器?

例如

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

$result2 = DB::select(DB::raw("SELECT * FROM users"));
Run Code Online (Sandbox Code Playgroud)

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

may*_*ʎɐɯ 5

DB::raw()用于生成任意SQL命令,查询构建器不会对其进行进一步解析。因此,他们可以创建用于通过SQL注入进行攻击的向量

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

实施例DB::rawDB::select