Home > PHP Framework > Laravel > body text

How to set up laravel data table

王林
Release: 2023-05-29 09:30:07
Original
607 people have browsed it

Laravel is one of the most popular frameworks for modern PHP development. It provides many useful features and tools, the most important of which is its ORM. Databases can be easily manipulated using ORM (Object Relational Mapping). In Laravel, it is very simple to use ORM to create and set up data tables. In this article, we will discuss how to set up a data table using Laravel.

Laravel database migration

In Laravel, the setting of data tables is completed through database migration. Database migration is a type of version control used to manage structural changes to data tables. Each migration describes a change to the database schema. Each version control migration presents a database upgrade, so you can go back to a previous version or upgrade to a newer version. What's more, Laravel provides convenient command line functionality to create and manage migrations. This way you can easily add or delete tables to the database. Therefore, in this process, you don't have to write SQL code manually.

Creation of Laravel Migration

First of all, creating a migration in Laravel is very simple. You can use the following command to create a new migration:

php artisan make:migration create_users_table
Copy after login

This command will create a new migration named "create_users_table". Migrations will be saved in the "database/migrations" directory. This directory is the database migration directory that comes with the Laravel framework.

Open the migration you just created. You will see an empty "up" method, this is the code that is executed when you migrate. Here is the simple structure of this method:

public function up()
{
    //
}
Copy after login

In this method, you can write the code for creating the data table. We will explain in the example below.

Laravel Data Type

In Laravel, there are a variety of data types to choose from to describe the type of data table columns. In the following examples, we will introduce some of the available data types.

1.Auto-increment ID

$table->bigIncrements('id')

2.Integer

$table->integer('age')

3. Long integer

$table->bigInteger('views')

4. Decimal

$table->decimal('price', 5, 2)

5.String

$table->string('name')

6. Long text

$table->longText('description')

7.Date

$table->date('dob')

8.Date time

$table->dateTime('published_at')

9.Boolean

$table->boolean('is_active')

10.JSON

$table->json('options')

11.Timestamp

$ table->timestamps()

Laravel data table settings

Use the above command to create a migration and open the "up" method. Next, you need to set the name of the data table, the columns as well as their types and other details. Here's how to set up a data table named "users":

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}
Copy after login

In the above code, we create the data table by calling the "Schema::create" method. When calling the "Schema::create" method, we need to pass the data table name and a callback method that describes the columns and other details of the data table. In the callback method, create the column using the "Blueprint" class. For example, we created an auto-increment column named "id", and this column is the primary key of this data table. The name of the column is represented by a string, and the type of the column can use any of the data types listed above.

Calling the "Schema::create" method will create a table named "users" in the database. If the data table already exists, you can still use this command to add more columns to it or change its structure. To accomplish this task, you need to use the "Schema::table" method and specify the changes in the callback function.

For example, the following code will add a column named "phone" to the data table named "users":

public function up()
{
    Schema::table('users', function (Blueprint $table) {
        $table->string('phone')->after('email');
    });
}
Copy after login

In the above code, we do this by calling "Schema: :table" method to change the data table named "users". The details of the change are to have the migration create a column called "phone" and place it after the "email" column.

Running Laravel Migration

Now, we have created a simple data table. Next, we need to run the migration and save the changes to the database. To run migrations, use the following command:

php artisan migrate
Copy after login

This command will run all migrations that have not yet been run.

Rollback of Laravel migrations

Laravel provides a convenient problem rollback command, which is used to undo previously run migrations. When undoing a migration, Laravel will automatically restore the data table structure of the previous version. To roll back a migration, use the following command:

php artisan migrate:rollback
Copy after login

This command will roll back the last migration. If you want to roll back more migrations, use the "--step" parameter and a number to specify the number of migrations to roll back. For example:

php artisan migrate:rollback --step=2
Copy after login

This command will roll back the last two migrations.

Summarize

Laravel provides an easy way to manage database structure changes. Using database migrations, you can easily add or remove data tables to your Laravel application, which is necessary to maintain good version control. In this article, we discussed how to create and set up data tables in Laravel, as well as how to run and rollback migrations. If you follow these steps, you will be able to easily create and manage data tables in Laravel.

The above is the detailed content of How to set up laravel data table. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template