dbyzero / laravel-cassandra
基于 Cassandra 的 Eloquent 模型和查询构建器,适用于 Laravel (Casloquent)
Requires
- php: >=5.6.0
- ext-cassandra: >=1.2.0
- illuminate/container: ^5.1
- illuminate/database: ^5.1
- illuminate/events: ^5.1
- illuminate/support: ^5.1
Requires (Dev)
- mockery/mockery: ^0.9
- orchestra/testbench: ^3.1
- phpunit/phpunit: ^5.0|^6.0
- satooshi/php-coveralls: ^1.0
This package is not auto-updated.
Last update: 2024-09-29 03:25:57 UTC
README
基于 Cassandra 的 Eloquent 模型和查询构建器,适用于 Laravel (Casloquent)
警告:这是一个正在进行中的作品... 目前尚未准备好使用。
安装
Laravel 版本兼容性
请确保您已安装 Cassandra PHP 驱动程序(版本 1.2+)。更多信息请参阅 http://datastax.github.io/php-driver/。
使用 composer 安装
composer require fuitad/laravel-cassandra
并在 config/app.php
中添加服务提供者
fuitad\LaravelCassandra\CassandraServiceProvider::class,
(尚未在 Lumen 上测试... TODO)
服务提供者将注册一个与原始数据库管理器一起使用的 Cassandra 数据库扩展。无需注册额外的外观或对象。当使用 Cassandra 连接时,Laravel 会自动为您提供相应的 Cassandra 对象。
对于 Laravel 之外的使用,请查看 Capsule 管理器 并添加
$capsule->getDatabaseManager()->extend('cassandra', function($config) { return new fuitad\LaravelCassandra\Connection($config); });
配置
在 config/database.php
中更改默认数据库连接名称
'default' => env('DB_CONNECTION', 'cassandra'),
并添加一个新的 Cassandra 连接
'cassandra' => [ 'driver' => 'cassandra', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', 9142), 'keyspace' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), ],
您可以使用以下配置连接到多个服务器
'cassandra' => [ 'driver' => 'cassandra', 'host' => ['server1', 'server2'], 'port' => env('DB_PORT', 9142), 'keyspace' => env('DB_DATABASE'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), ],
Eloquent
TODO
查询构建器
数据库驱动程序直接集成到原始查询构建器。当使用 Cassandra 连接时,您将能够构建流畅的查询以执行数据库操作。
$users = DB::table('users')->get(); $user = DB::table('users')->where('name', 'John')->first();
如果您未更改默认数据库连接,则在查询时需要指定它。
$user = DB::connection('cassandra')->table('users')->get();
有关查询构建器的更多信息,请参阅 https://laravel.net.cn/docs/queries
鸣谢
此包背后的很多逻辑都借鉴了优秀的 Laravel-MongoDB 包。