我想知道什么时候在laravel query builer中使用查询生成器中的原始查询,如下所示。原始查询内部查询生成器可以使用laravel查询生成器保护sql注入?
$salesdata = DB::table('HEADER')
->join('BRANCH', 'HEADER.BRANCHCODE', '=', 'BRANCH.BRANCHCODE')
->select('HEADER.BRANCHCODE','BRANCH.BRANCHNAME',
DB::raw('SUM("HEADER"."AMT") as netamt'),
DB::raw('SUM("HEADER"."AMT") + SUM("HEADER"."DISCOUNT")- SUM("HEADER"."TAX1")- SUM("T_CASH_HEADER"."TAX2") as grossamt'),'BRANCH.BRANCHNAME',
DB::raw('SUM("HEADER"."COVER") as NetCover'),
DB::raw('SUM("HEADER"."DISCOUNT") as discount'),DB::raw('SUM("HEADER"."TAX1") as tax'),DB::raw('round(SUM("HEADER"."AMT")/SUM("HEADER"."COVER"),2) as avg'))
->whereBetween('HEADER.INVOICEDATE', [$fromDate, $toDate])
->groupBy('BRANCH.BRANCHCODE','BRANCH.BRANCHNAME','HEADER.BRANCHCODE')
->orderBy('AMT','ASC')
->get();
我想知道上面的查询可以确定使用laravel进行sql注入。
你必须看看laravel的源代码,看看它给你的变量做了什么。希望它参数化他们。 – ADyson