Php 使用Laravel一次插入多个记录
我将一行一行地插入数据,但我在某处听说,如果有许多数据要插入,则需要很多时间。那么,如何一次将它们全部插入Php 使用Laravel一次插入多个记录,php,laravel,Php,Laravel,我将一行一行地插入数据,但我在某处听说,如果有许多数据要插入,则需要很多时间。那么,如何一次将它们全部插入 public function add(Request $request) { if ($request->ajax()) { $books = $request->books; foreach ($books as $book) { if (!empty($book)) { $ad
public function add(Request $request)
{
if ($request->ajax()) {
$books = $request->books;
foreach ($books as $book) {
if (!empty($book)) {
$add = new Book;
$add->name = $book;
$add->user_id = Auth::user()->id;
$add->save();
}
}
}
}
您应该能够执行以下操作:
DB::table('users')->insert([
['email' => 'taylor@example.com', 'votes' => 0],
['email' => 'dayle@example.com', 'votes' => 0]
]);
将要插入的所有值放入数组,然后将其传递给insert函数
资料来源:如果您需要雄辩-没有其他方法插入多个模型。以其他方式-检查答案公共功能添加(请求$Request)
{
如果($request->ajax())
{
$books=$request->books;
$data=array();
foreach($books作为$book)
{
如果(!空($book))
{
$data[]=[
'name'=>$book,
'user_id'=>Auth::id(),
];
}}
书籍:插入($数据);
}}
确保导入的使用light\Support\Facades\Auth代码>使用模型插入多个记录
正如其他人指出的,使用查询生成器是一次插入多条记录的唯一方法。幸运的是,Laravel和雄辩的ORM以许多有用的方式结合在一起。这种耦合允许您使用模型获取为该模型设置的查询生成器实例
// use Auth;
// use Carbon;
// use App\Book;
public function add(Request $request)
{
if($request->ajax())
{
// Submitted books
$books = $request->books;
// Book records to be saved
$book_records = [];
// Add needed information to book records
foreach($books as $book)
{
if(! empty($book))
{
// Get the current time
$now = Carbon::now();
// Formulate record that will be saved
$book_records[] = [
'name' => $book,
'user_id' => Auth::user()->id,
'updated_at' => $now, // remove if not using timestamps
'created_at' => $now // remove if not using timestamps
];
}
}
// Insert book records
Book::insert($book_records);
}
}
答案链接上的最新评论可能重复(我不是laravel开发人员),似乎一年多前的任何答案都不相关?我想这取决于真实情况……这太糟糕了,你把我的副本发到了@Qevo
// use Auth;
// use Carbon;
// use App\Book;
public function add(Request $request)
{
if($request->ajax())
{
// Submitted books
$books = $request->books;
// Book records to be saved
$book_records = [];
// Add needed information to book records
foreach($books as $book)
{
if(! empty($book))
{
// Get the current time
$now = Carbon::now();
// Formulate record that will be saved
$book_records[] = [
'name' => $book,
'user_id' => Auth::user()->id,
'updated_at' => $now, // remove if not using timestamps
'created_at' => $now // remove if not using timestamps
];
}
}
// Insert book records
Book::insert($book_records);
}
}