Хотите знать, как связать столбец типа карты в подготовленном операторе вставки в 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 к карте ожидает другую карту в качестве аргумента.