2017-03-03 37 views
-2

如何在laravel中将记录插入到couchDB中。我已经做了检索部分,但现在我想要做插入,更新删除如何在laravel中插入到couchDB中

我的检索代码如下。下面

class couchdbcontroller extends Controller 
{ 

    public function getdata() 
    {   
     $content =null; 

     try { 
      $client = new Client();    

      $apiRequest = $client->request('GET','http://localhost:5984/user/_design/userdesign/_view/user-view?limit=20&reduce=false');  

      $code = $apiRequest->getBody()->getContents(); 

     } catch (RequestException $re) { 
      //For handling exception 
      return $re->error; 
     } 

     return $code; 
     //return response()->json($code); 
    } 
} 

插入的代码:

public function guzzle_insert_doc() 
{ 
    $client = new Client(); 
    $res = $client->request('PUT', 'http://localhost:5984/login/new_doc',[ 
      'uname' => 'admin', 
      'password' => 'admin123', 
     ]); 
    //return $res; 
} 

错误:客户端错误:PUT http://localhost:5984/login/new_doc导致了400 Bad Request响应: { “错误”: “BAD_REQUEST”, “理由”:“无效UTF- 8 JSON“}

+0

你的问题是什么?你做过任何研究,你有什么尝试? CouchDB使用原始HTTP根据您的Client()类查询数据库,您只需执行PUT请求并在HTTP主体中传递数据库。如果您想使用现有的库或只是将其视为参考,请查看[PHP-on-Couch](https://github.com/PHP-on-Couch/PHP-on-Couch) –

+0

我现在使用laravel从couchdb中检索数据。现在我想用laravel将数据插入到couchdb中。你能告诉我该怎么做...... Pleasae指的是我为检索部分所做的上述代码。 – Carlos

+0

您给出的示例链接是一个php-on-couch。我没有使用该插件。我们也可以使用无插件。我已经完成了检索的一部分,但不是我没有得到什么shud我写入插入数据到couchdb像我为检索 – Carlos

回答

0

从我的谷歌搜索,你可以做这样的事情:

<?php 

$client = new Client(); 
$doc = ['title'=>'This is a new doc']; 
$res = $client->request('PUT', 'http://localhost:5984/db/new_doc',['json' => $doc]); 

我假设你正在使用狂饮(如果我错了,请告诉我们你的使用)

我没测试我的代码,因为我没有时间来建立与狂饮一laravel项目。请参阅​​以获得进一步帮助。

+0

是我正在使用guzzle – Carlos

+0

上面的代码,你给它创建一个数据库..不插入记录到数据库。如果我提到已经存在的数据库名称,那么它说数据库已经存在。我想插入记录到已有的数据库中。 – Carlos

+0

我指定了两次_id,这是一个错误,但最后它正在创建一个文档。看,我在名为* db *的数据库中指向新文档'new_doc'。我也将文档数据作为JSON对象传递。 –