Вставьте дату и время в Cassandra (драйвером DataStax PHP)

У меня есть стол:

CREATE TABLE agency (
documentCode ASCII,
sectionCode ASCII,
checkedAt TIMESTAMP,

PRIMARY KEY (franchisedCode, agencyCode)
)
;

Я могу изменить структуру моей базы данных, если это необходимо.

Я бы установил метку времени:

$cassandra = $cluster->connect($keyspace);
$statement = $cassandra->prepare('
INSERT INTO agency
( documentCode
, sectionCode
, checkedAt
) VALUES
( :documentCode
, :sectionCode
, :checkedAt
);
');

$arguments = [
'documentCode'   => $code1,
'sectionCode'    => $code2,
'checkedAt'      => $mixed,
];

var_dump($arguments);

$options = new ExecutionOptions([
'arguments' => $arguments,
]);

$cassandra->execute($statement, $options);

Я проверил некоторые значения для $mixed:

  • null работает
  • 123456789 не удается, даже если я брошу int или же string
  • '2016-06-06T12:34:56+00:00' терпит неудачу
  • '2016-06-06T12:34:56' терпит неудачу
  • '2016-06-06' терпит неудачу

Сообщение об ошибке Fatal error: Uncaught Cassandra\Exception\InvalidArgumentException: Invalid value type

Вы видите что-то не так?
Спасибо

1

Решение

Ну, я решил свою проблему.
Я должен использовать тип объекта:
$checkedAt = new \Cassandra\Timestamp($checkedAt);

1

Другие решения

Других решений пока нет …