Laravel DB::insert()和DB::table()->insert()之间的差异

1cklez4t  于 2023-01-31  发布在  其他
关注(0)|答案(3)|浏览(101)

我一直在想什么时候用哪一个,如果我应该两个都用。
一直在看Laravel文档,它们都在里面。从我所能做的来看,DB::insert()DB::table()->insert()提供了更多“定制”的查询。
当涉及到如何以及何时使用哪一个时,有没有人能够澄清这两个到底有什么区别?

yrefmtwq

yrefmtwq1#

  • DB::insert()用于原始SQL查询。示例:

DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);

  • DB::table()->insert()用于查询生成器。示例:

DB::table('users')->insert( ['email' => 'john@example.com', 'votes' => 0] );
查询构建器将条件编译为原始sql查询,但我正在使用它,因为它方便得多。

lstz6jyr

lstz6jyr2#

你总是尽可能多地使用查询生成器,它可以防止SQL注入。

  • Laravel查询生成器使用PDO参数绑定来保护您的应用程序免受SQL注入攻击。无需清除作为绑定传递的字符串 *

查询生成器还可以帮助处理特殊字符,如值中的“,“。对于原始语句,您需要自己处理特殊字符。

sr4lhrrt

sr4lhrrt3#

公共函数addsubEmployee(请求$reqest){

Sub_employee::create([
        "se_name"=> $reqest->se_name,
    ]);

    return redirect()->route("subEmployee");
}

相关问题