rbewley4/laravel-couchdb

Laravel 4的CouchDB数据库驱动

这个包的官方仓库似乎已经不存在,因此包已被冻结。

dev-master 2015-04-10 03:05 UTC

This package is not auto-updated.

Last update: 2024-01-20 11:34:44 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、查询构建器、模式构建器

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

示例

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 上调用。