aarcarv/laravel-couchdb

Laravel 4 的 CouchDB 数据库驱动

dev-master 2022-11-03 13:57 UTC

This package is auto-updated.

Last update: 2024-09-30 01:54:30 UTC


README

Laravel 4 的 CouchDB 数据库驱动

依赖关系

laravel-couchdb 使用 doctrine/couchdb-client. 这个包将通过 composer 自动为您下载。

安装

将包添加到您的 composer.json 并运行 composer update

{
    "require": {
        "rbewley4/laravel-couchdb": "dev-master"
    }
}

app/config/app.php 中添加服务提供者

'Rbewley4\Laravel\Couchdb\CouchdbServiceProvider',

服务提供者将注册一个与原始数据库管理器关联的 couchdb 数据库扩展。不需要注册额外的外观或对象。当使用 couchdb 连接时,Laravel 将自动为您提供相应的 couchdb 对象。

配置

app/config/database.php 中更改默认数据库连接名称

'default' => 'couchdb',

并添加一个新的 couchdb 连接

'couchdb' => array(
    'driver'   => 'couchdb',
    'type'     => 'socket',
    'host'     => 'localhost',
    'ip'       => null,
    'port'     => 5984,
    'dbname'   => 'database',
    'user'     => 'username',
    'password' => 'password',
    'logging'  => false,
),

Eloquent, Query Builder, Schema Builder

抱歉,我们目前不支持这些组件。

示例

laravel-couchdb 提供您直接访问 CouchDBClient 对象的方式,并期望您使用它进行所有 CouchDB 交互。

有关 CouchDBClient 的更多信息,请参阅 doctrine/couchdb-client

获取 CouchDBClient 处理器

/**
 * @var \Rbewley4\Laravel\Couchdb\CouchdbConnection
 */
$connection = DB::connection('couchdb');

/**
 * @var \Doctrine\CouchDB\CouchDBClient
 */
$couchdb = $connection->getCouchDB();

注意:您可以通过在 CouchdbConnection 上调用它们来在 CouchDBClient 上调用方法。这是通过使用魔法方法实现的。

创建/更新/查找文档

这里我们演示了在 CouchDB 上可以执行的三种不同操作,并展示了三种不同的调用这些方法的方式

$connection = DB::connection('couchdb');
$couchdb = $connection->getCouchDB();

list($id, $rev) = $connection->postDocument(array('foo' => 'bar'));
$couchdb->putDocument(array('foo' => 'baz'), $id, $rev);
$doc = DB::connection('couchdb')->findDocument($id);

请注意,所有三种方法都可以在 $connection 或 $couchdb 上调用。