laravel使用第二数据库DB和模型方法增删改查
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
class SecondDbController extends Controller
{
// 1. 新增数据:向第二个数据库的users表插入一条数据
public function add()
{
$id = DB::connection('mysql2')->table('users')->insertGetId([
'name' => '测试第二个数据库',
'email' => 'test@mysql2.com'
]);
return '新增成功,主键ID:' . $id;
}
// 2. 查询数据:查询第二个数据库的users表所有/单条数据
public function select()
{
// 查询所有
$all = DB::connection('mysql2')->table('users')->get();
// 查询单条(根据ID)
$one = DB::connection('mysql2')->table('users')->where('id', 1)->first();
// 查询指定字段
$field = DB::connection('mysql2')->table('users')->pluck('name', 'id');
return compact('all', 'one', 'field');
}
// 3. 修改数据:修改第二个数据库users表中ID=1的数据
public function update()
{
$row = DB::connection('mysql2')->table('users')
->where('id', 1)
->update(['name' => '修改后的名称']);
return '修改成功,影响行数:' . $row;
}
// 4. 删除数据:删除第二个数据库users表中ID=1的数据
public function delete()
{
$row = DB::connection('mysql2')->table('users')->where('id', 1)->delete();
// 清空表(谨慎使用,不会自增重置)
// DB::connection('mysql2')->table('users')->truncate();
return '删除成功,影响行数:' . $row;
}
}
模型增删改查
<?php
namespace App\Http\Controllers;
use App\Models\SecondUser;
use Illuminate\Http\Request;
class SecondDbController extends Controller
{
// 模型方式:新增
public function modelAdd()
{
// 方式1:批量赋值
$user = SecondUser::create([
'name' => '模型新增-第二个数据库',
'email' => 'model@mysql2.com'
]);
// 方式2:实例化赋值
// $user = new SecondUser();
// $user->name = '模型新增-第二个数据库';
// $user->email = 'model@mysql2.com';
// $user->save();
return '模型新增成功,ID:' . $user->id;
}
// 模型方式:查询
public function modelSelect()
{
// 查询所有
$all = SecondUser::all();
// 查询单条
$one = SecondUser::find(1); // 根据ID
$where = SecondUser::where('name', 'like', '%模型%')->first(); // 条件查询
// 分页查询
$page = SecondUser::paginate(10);
return compact('all', 'one', 'where', 'page');
}
// 模型方式:修改
public function modelUpdate()
{
// 方式1:查询后修改
$user = SecondUser::find(1);
$user->name = '模型修改-第二个数据库';
$user->save();
// 方式2:批量修改
// SecondUser::where('id', 1)->update(['name' => '模型修改-第二个数据库']);
return '模型修改成功';
}
// 模型方式:删除
public function modelDelete()
{
// 方式1:查询后删除
$user = SecondUser::find(1);
$user->delete();
// 方式2:批量删除
// SecondUser::where('id', '>=', 1)->delete();
// 软删除(若开启):SecondUser::destroy(1);
return '模型删除成功';
}
}
最近访问时间:2026-02-07 03:45:17