Laravel is an extremely popular PHP web application framework that provides a wealth of tools and features that enable developers to easily build efficient and easy-to-maintain web applications. One of the key functions is the interaction with the database. When using Laravel for development, we often need to modify or update the database. This article will take you to learn more about the related operations of modifying the database in Laravel.
1. Laravel database migration
Laravel provides a database migration (Migration) function that allows us to easily manage database version control. Through database migration, we can define changes in the database table structure and quickly migrate to a new version of the database through the commands provided by the framework. The specific steps are as follows:
Laravel’s migration files are stored in the database/migrations directory. We can use Artisan commands to generate migration files. Execute the following command to create a migration file named create_users_table:
php artisan make:migration create_users_table
Open the just generated In the migration file (located in the database/migrations directory), you can see that there is an up function and a down function. The up function is used to perform migration operations, and the down function is used to undo migration operations.
We can write a script to create a database table in the up function, for example:
Schema::create('users', function (Blueprint $table) {
$table-> ;increments('id');
$table->string('name');
$table->string('email')->unique();
$table- >timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table-> timestamps();
});
This script will create a data table named users, which contains 7 fields such as id, name, email, email_verified_at, password, remember_token and timestamps.
After writing the migration script, we can run the migration script through the following command:
php artisan migrate
At this time, the Laravel framework will automatically create the table structure based on the script we wrote. If the relevant table already exists in the database, the framework will automatically skip and not execute.
2. Laravel database filling
Database filling is another important function provided by Laravel, which can help us fill the database with fake data in development, testing and production environments. For example, when we need to test the query performance of data, we can use padding to fill a large amount of data.
We can use Artisan command to create filling file, as follows:
php artisan make:seeder UsersTableSeeder
Put the written filling script in the database/seeds directory, and write the following code in UsersTableSeeder:
use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;
use IlluminateSupportStr;
class UsersTableSeeder extends Seeder
{
/** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->insert([ 'name' => Str::random(10), 'email' => Str::random(10).'@gmail.com', 'password' => Hash::make('password'), ]); }
}
This script will insert into the users table A record contains three fields: name, email, and password. The values of the name and email fields are randomly generated.
We can run the filling script through the following command:
php artisan db:seed
At this time , the Laravel framework will automatically call the filling script we wrote, and then insert the data into the users table.
3. Laravel database operation
In addition to using database migration and data filling to modify the database, we can also use the DB classes provided by Laravel to perform data operations.
DB::table('users')->insert([
'name' => 'John Doe', 'email' => 'johndoe@example.com', 'password' => Hash::make('password'),
]);
This script will insert a record into the users table, containing three fields: name, email, and password. The values of the name and email fields are specified.
DB::table('users')
->where('id', 1) ->update(['votes' => 1]);
This statement will update the votes field in the record with id 1 The value is set to 1.
DB::table('users')->where('votes', '<', 100)->delete( );
This statement will delete all records with votes field value less than 100.
4. Conclusion
This article introduces how Laravel modifies the database, and introduces three methods: database migration, database filling and database operation. The simplicity and efficiency of handling databases in Laravel have made it one of the popular web frameworks, and it is very necessary for developers to learn these related functions.
The above is the detailed content of laravel modify database. For more information, please follow other related articles on the PHP Chinese website!