《laravel查询数据库(laravel数据库增删改查)》
在Laravel中进行数据库的增删改查操作,借助其强大的Eloquent ORM和Query Builder可以轻松实现。确保已经配置好数据库连接,在config/database.php
中正确设置数据库的相关信息,如驱动、主机、端口、数据库名称、用户名和密码等。
一、创建数据表与模型
要对数据库进行操作,得先有数据表和对应的模型。可以通过Artisan命令创建迁移文件来定义数据表结构,例如:
php
php artisan make:migration create_users_table --create=users
这会在database/migrations
目录下生成一个迁移文件,在文件中的up
方法里定义表结构:
php
public function up()
{
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();
});
}
然后执行php artisan migrate
创建数据表。
接着创建模型:
php
php artisan make:model User
二、查询(读取)
1. 使用Eloquent ORM
获取所有记录:
php
$users = AppModelsUser::all();
根据条件查询:
php
$user = AppModelsUser::where('name', 'John')->first();
还可以使用链式调用:
php
$users = AppModelsUser::where('age', '>', 18)
->orderBy('created_at', 'desc')
->get();
2. 使用Query Builder
php
$users = DB::table('users')->get();
$user = DB::table('users')->where('name', 'John')->first();
三、插入(添加)
1. Eloquent ORM
php
$user = new AppModelsUser();
$user->name = 'Tom';
$user->email = 'tom@example.com';
$user->password = Hash::make('123456');
$user->save();
或者
php
AppModelsUser::create([
'name' => 'Jerry',
'email' => 'jerry@example.com',
'password' => Hash::make('654321')
]);
2. Query Builder
php
DB::table('users')->insert([
'name' => 'Mike',
'email' => 'mike@example.com',
'password' => Hash::make('112233'),
'created_at' => now(),
'updated_at' => now()
]);
四、更新
1. Eloquent ORM
找到记录后修改并保存:
php
$user = AppModelsUser::find(1);
$user->name = 'New Name';
$user->save();
批量更新:
php
AppModelsUser::where('age', '<', 18)->update(['status' => 'minor']);
2. Query Builder
php
DB::table('users')
->where('id', 1)
->update(['name' => 'Updated Name']);
五、删除
1. Eloquent ORM
php
$user = AppModelsUser::find(1);
$user->delete();
或者直接通过主键删除:
php
AppModelsUser::destroy(1);
批量删除:
php
AppModelsUser::where('age', '>', 60)->delete();
2. Query Builder
php
DB::table('users')->where('id', 1)->delete();
以上就是在Laravel中进行数据库增删改查的一些常用方法,无论是Eloquent ORM还是Query Builder都有各自的特点,可以根据实际需求选择合适的方式。