📜  如何使用 laravel 在 mysql 中插入多行 - SQL (1)

📅  最后修改于: 2023-12-03 14:51:59.950000             🧑  作者: Mango

如何使用 Laravel 在 MySQL 中插入多行

在使用 Laravel 操作 MySQL 数据库时,常常需要插入多行数据。本文将介绍如何使用 Laravel 的 Eloquent 模型,在 MySQL 中插入多行数据。

准备工作

首先,需要准备好 Eloquent 模型及相应的数据表。以一个学生表为例,可以创建一个 Student 模型:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    protected $table = 'students';
    protected $fillable = ['name', 'age', 'gender'];
}

同时,需要在数据库中创建一个名为 students 的数据表,用于存储学生数据。可以使用 Laravel 的迁移工具进行创建:

php artisan make:migration create_students_table --create=students

在生成的迁移文件中,可以添加如下代码:

public function up()
{
    Schema::create('students', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->integer('age');
        $table->string('gender');
        $table->timestamps();
    });
}

public function down()
{
    Schema::dropIfExists('students');
}

然后运行 php artisan migrate 命令,将迁移应用到数据库中。

插入多行数据

接下来,可以使用 Eloquent 模型将数据插入到 students 表中。假设要插入以下三条学生数据:

[
    ['name' => '小明', 'age' => 18, 'gender' => '男'],
    ['name' => '小红', 'age' => 19, 'gender' => '女'],
    ['name' => '小华', 'age' => 20, 'gender' => '男'],
]

可以使用 insert() 方法进行插入:

$data = [
    ['name' => '小明', 'age' => 18, 'gender' => '男'],
    ['name' => '小红', 'age' => 19, 'gender' => '女'],
    ['name' => '小华', 'age' => 20, 'gender' => '男'],
];

Student::insert($data);

这样,就可以将数据插入到 students 表中了。

总结

使用 Laravel 的 Eloquent 模型,在 MySQL 中插入多行数据可以通过 insert() 方法实现。首先需要准备好模型及数据表,然后将多行数据放入一个数组中,作为 insert() 方法的参数即可。