【发布时间】:2019-07-10 20:24:19
【问题描述】:
两者有什么区别:
DB::table('some_table')
->selectRaw('COUNT(*) AS result')
->get();
和:
DB::select(DB::raw("
SELECT COUNT(*) AS result
FROM some_table"));
在https://laravel.com/docs/5.6/queries 的文档中,他们宣传使用raw()due SQL Injection,但它与selectRaw 相同?
【问题讨论】:
-
是的,这些都是一样的
-
请注意,
DB::select已经接受原始 SQL 查询字符串,因此第二个示例中的内部DB::raw是不必要的,并且实际上会搞砸查询日志等内容。
标签: laravel laravel-query-builder