rbewley4 / laravel-couchdb
Laravel 4的CouchDB数据库驱动
这个包的官方仓库似乎已经不存在,因此包已被冻结。
dev-master
2015-04-10 03:05 UTC
Requires
- php: >=5.3.0
- doctrine/couchdb: 1.0.*@dev
- laravel/framework: >=4.1.0
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 上调用。