阅读量:3
在Laravel中实现分库分表可以通过使用数据库迁移和模型来实现。以下是一个简单的示例:
- 创建数据库迁移文件来创建分库和分表结构:
php artisan make:migration create_users_table --table=db1.users php artisan make:migration create_posts_table --table=db2.posts
- 在迁移文件中定义数据库表结构:
// db1.users migration file Schema::connection('db1')->create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->timestamps(); }); // db2.posts migration file Schema::connection('db2')->create('posts', function (Blueprint $table) { $table->increments('id'); $table->string('title'); $table->text('content'); $table->timestamps(); });
- 创建模型并指定使用的数据库连接:
// User model namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { protected $connection = 'db1'; protected $table = 'users'; } // Post model namespace App\Models; use Illuminate\Database\Eloquent\Model; class Post extends Model { protected $connection = 'db2'; protected $table = 'posts'; }
- 在控制器中使用模型进行数据库操作:
use App\Models\User; use App\Models\Post; $users = User::all(); $posts = Post::all();
通过以上步骤,我们就可以在Laravel中实现分库分表的功能。在实际项目中,可以根据需求来定义更多的分库分表结构和模型。