📅  最后修改于: 2023-12-03 14:43:51.176000             🧑  作者: Mango
Laravel是一款最流行的 PHP Web 框架之一,带有优雅的语法和强大的工具。在Laravel中,我们可以很方便地使用数据库进行数据存储和读取。本文将介绍如何在Laravel中使用数据库。
在使用Laravel进行数据存储之前,我们需要先进行数据库的配置。Laravel默认使用的是MySQL数据库,当然也支持其他类型的数据库。在 .env
文件中进行数据库的配置,如下:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password
可以看出,需要配置的包括数据库的连接类型、主机地址、端口号、数据库名、用户名、密码等。
数据库迁移是Laravel中很重要的一部分,它允许我们通过编写代码来管理数据库模式的变化,而无需手动编辑数据库。Laravel中使用Artisan命令来创建和运行数据库迁移:
php artisan make:migration create_users_table --create=users
运行该命令后,Laravel会在 database/migrations
目录下创建一个迁移文件,可以在文件中定义要创建或修改的表以及相关字段:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
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();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
可以看到,在 up
方法中,我们定义了 users
表,并创建了相关的字段,如 id
、name
、email
、password
等。在 down
方法中,则是用来撤销迁移操作的。而在 up
方法中创建的表,在运行 down
方法后会被删除。
编写好迁移代码后,我们需要使用Artisan命令来执行迁移,如下:
php artisan migrate
运行该命令后,Laravel会自动执行我们编写的迁移,并将其记录在 migrations
表中。
经过上述配置和迁移后,我们可以直接使用Laravel中提供的 DB
类来进行数据库的操作。Laravel中的 DB
类为我们提供了一些操作数据库的方法,如 select
、insert
、update
、delete
等等,可以满足我们日常的需求。
$users = DB::select('select * from users where id = ?', [1]);
上述代码表示从 users
表中查询 id
为 1
的记录。在查询时,可以使用 select
方法,并传入SQL查询语句,以及查询参数。
$users = DB::table('users')->get();
Laravel还提供了更加优雅的查询方式,即 查询构造器。通过查询构造器,我们可以更加方便地从数据库中读取数据。上述代码中,使用了 table
方法来指定要查询的表名,并使用 get
方法来获取所有数据,也可以使用其他的方法,如 where
、orderBy
等等,来进一步筛选和排序数据。
DB::insert('insert into users (name, email, password) values (?, ?, ?)', ['John Doe', 'johndoe@example.com', 'password']);
通过 insert
方法,我们可以向数据库中插入数据,需要传入SQL插入语句以及插入的数据。
DB::table('users')->insert([
'name' => 'John Doe',
'email' => 'johndoe@example.com',
'password' => bcrypt('password'),
]);
在使用查询构造器时,插入数据也非常方便,可以直接使用 insert
方法,并传入要插入的数据。
DB::update('update users set name = ? where id = ?', ['John Doe', 1]);
通过 update
方法,我们可以更新数据库中的数据,需要传入SQL更新语句以及更新的数据。
DB::table('users')->where('id', 1)->update(['name' => 'John Doe']);
使用查询构造器则更加简单,可以使用 where
方法指定要更新的数据,然后调用 update
方法,传入想要更新的字段和值即可。
DB::delete('delete from users where id = ?', [1]);
通过 delete
方法,我们可以删除数据库中的数据,需要传入SQL删除语句以及删除的数据。
DB::table('users')->where('id', 1)->delete();
使用查询构造器,也可以直接使用 where
方法指定要删除的数据,然后调用 delete
方法即可。
通过本文的介绍,我们学习了如何在Laravel中使用数据库,包括配置数据库、数据库迁移以及对数据的增、删、改、查操作。Laravel提供了非常方便和优雅的方式来操作数据库,可以大大提高我们的开发效率。