Хотите знать, как связать столбец типа карты в подготовленном операторе вставки в Cassandra с драйверами php

Может кто-нибудь, пожалуйста, помогите мне с точным синтаксисом использовать подготовленные операторы вставки / обновления, содержащие столбцы типа карты. предположим:

UPDATE abc SET map = map + ? where id = ?

где карта - это столбец типа карты,

Я нашел ответ, Кассандра подготовила операторы с коллекциями, но он просто содержал синтаксис для генерации определенного объекта типа карты, а не связывания.

1 ответ

Вы должны выполнить его как обычно для подготовленных запросов, но вам нужно пройти Cassandra::Map Объект в качестве первого параметра, что-то вроде этого:

 $statement = $session->prepare('....')
 $map = Cassandra\Type::map(Cassandra\Type::varchar(), Cassandra\Type::int())
       ->create('a', 1);
 $id = 'something'
 $session->execute($statement, array('arguments' => array($map, $id)));

Вам нужно пройти Map объект, потому что добавление CQL к карте ожидает другую карту в качестве аргумента.

Другие вопросы по тегам