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; }
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); }
<?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; }); }