Я пытаюсь сделать SELECT с Couchbase, N1QL и PHP. Это получит целый ряд. Мне нужно получить определенное поле, например, страну. Как я могу это сделать? Это мой текущий сценарий.
// Set bucket
$bucketName = "travel-sample";
// Connect to Couchbase Server
$cluster = new CouchbaseCluster("couchbase://127.0.0.1");
$bucket = $cluster->openBucket($bucketName);
// Get data
$query = CouchbaseN1qlQuery::fromString('SELECT * FROM `travel-sample` LIMIT 4');
$result = $bucket->query($query);
foreach ($result->rows as $row) {
$json = json_encode($row);
echo $json;
echo "<br>";
echo "<br>";
}
Измените оператор SQL так, чтобы он возвращал только нужные поля. Используя «*», вы запрашиваете у вас БД для всех полей в таблице travel-sample.
Изменение строки запроса на
$query = CouchbaseN1qlQuery::fromString('SELECT country FROM `travel-sample` LIMIT 4');
или (несколько полей)
$query = CouchbaseN1qlQuery::fromString('SELECT country, other_field FROM `travel-sample` LIMIT 4');
Должно работать на вас.
Других решений пока нет …