private function active($request)
 {
     $cluster = new CouchbaseCluster('couchbase://localhost', 'root', '123456');
     $bucket = $cluster->openBucket((string) $request->getResource());
     $resource = $request->getResource();
     $token = 20;
     $query = CouchbaseN1qlQuery::fromString('UPDATE ' . '`' . $resource . '`' . "USE KEYS " . "'" . $token . "'" . 'SET deleted = 0');
     $result = $bucket->query($query);
     return $result;
 }
示例#2
0
function pushJson($request, $id, $type, $app, $cb)
{
    $data = $request->request->get('fluxJson');
    //var_dump($data);
    if ($id == 'new') {
        $query = CouchbaseN1qlQuery::fromString('SELECT COUNT(*) AS nb FROM `catalogue-assemblage` WHERE type="' . $type . '"; ');
        $res = $cb->query($query);
        //var_dump($res);
        if ($res[0]->nb > 0) {
            $nb = $res[0]->nb + 1;
        } else {
            $nb = 1;
        }
        for ($i = 0; $i < sizeof($data); $i++) {
            $array = $data[$i];
            $array['type'] = $type;
            $cb->insert($type . '_' . ($nb + $i), json_encode($array));
        }
    } else {
        $cb->upsert($id, json_encode($data));
    }
    return $app->json($array, 200);
}
示例#3
0
<?php

// Connecting to Couchbase
$cluster = new CouchbaseCluster("http://db");
$cb = $cluster->openBucket("catalogue-assemblage", "");
$cb->enableN1ql(array('http://db:8093/'));
// Liste des documents via N1QL
$query = CouchbaseN1qlQuery::fromString('
  SELECT ARRAY_AGG(ARRAY_CONCAT(fils.caracteristiques,pere.caracteristiques))
  FROM `catalogue-assemblage` fils 
    JOIN `catalogue-assemblage` pere 
    ON KEYS fils.idProduitCommercial 
  WHERE fils.type = "offreCommerciale"
  ;
');
$res = $cb->query($query);
//var_dump($res);
echo '<pre>', json_encode($res, JSON_PRETTY_PRINT), '</pre>';
//SELECT ARRAY_CONCAT(fils.caracteristiques,pere.caracteristiques) FROM `catalogue-assemblage` fils JOIN `catalogue-assemblage` pere ON KEYS fils.idProduitCommercial WHERE fils.type = "offreCommerciale";
 /**
  * @param       $query
  * @param array $bindings
  *
  * @return mixed
  */
 public function positionalStatement($query, array $bindings = [])
 {
     return $this->run($query, $bindings, function ($me, $query, $bindings) {
         if ($me->pretending()) {
             return 0;
         }
         $query = \CouchbaseN1qlQuery::fromString($query);
         $query->consistency($this->consistency);
         $query->positionalParams($bindings);
         $result = $this->executeQuery($query);
         $this->metrics = isset($result->metrics) ? $result->metrics : [];
         return isset($result->rows[0]) ? $result->rows[0] : false;
     });
 }