📅  最后修改于: 2023-12-03 14:48:46.305000             🧑  作者: Mango
如果你在使用 Laravel 开发应用程序,你会发现在创建新的数据库表时需要进行一些步骤。这些步骤包括创建迁移、创建模型和编写种子数据。在这篇文章中,我们将介绍如何一次性完成这些步骤。
在 Laravel 中,我们使用 php artisan make:migration
命令来创建新的迁移。例如,如果我们要创建一个名为 create_users_table
的迁移,我们可以运行以下命令:
php artisan make:migration create_users_table
这将在 database/migrations
目录中创建一个新的迁移文件。
现在我们可以编辑新创建的迁移文件了。在这个文件中,我们可以编写与创建新表相关的所有语句。例如,以下是创建 users
表的语句:
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
在 Laravel 中,我们使用 php artisan make:model
命令来创建新的模型。例如,如果我们要创建一个名为 User
的模型,我们可以运行以下命令:
php artisan make:model User
这将在 app
目录中创建一个名为 User
的新模型文件。
编辑新创建的模型文件,将其与我们刚刚创建的迁移文件对应起来。以下是一个简单的示例:
class User extends Model
{
protected $fillable = [
'name',
'email',
'password',
];
}
在 Laravel 中,我们使用 php artisan make:seeder
命令来创建新的种子文件。例如,如果我们要为 users
表创建一个名为 UsersTableSeeder
的种子文件,我们可以运行以下命令:
php artisan make:seeder UsersTableSeeder
这将在 database/seeds
目录中创建一个新的种子文件。
我们可以编辑新创建的种子文件,将其与我们刚刚创建的迁移文件对应起来。以下是一个简单的示例:
class UsersTableSeeder extends Seeder
{
public function run()
{
$users = [
[
'name' => 'John Doe',
'email' => 'john@example.com',
'password' => bcrypt('password'),
],
[
'name' => 'Jane Doe',
'email' => 'jane@example.com',
'password' => bcrypt('password'),
],
];
DB::table('users')->insert($users);
}
}
现在我们已经完成了所有的准备工作,可以执行迁移和播种命令了。在 Laravel 中,我们使用以下两个命令来执行这两个操作:
php artisan migrate
php artisan db:seed
执行以上命令后,我们就可以在 users
表中看到两条新记录了。
在 Laravel 中,一次性地创建迁移、模型和种子数据会让我们更高效地进行开发工作。在这篇文章中,我们介绍了如何使用相应的命令快速完成这些步骤,并提供了示例代码来帮助你更好地理解这些概念。