将Datetime插入Cassandra(通过DataStax PHP驱动程序)

将Datetime插入Cassandra(通过DataStax PHP驱动程序),php,cassandra,datastax,Php,Cassandra,Datastax,我有一张桌子: CREATE TABLE agency ( documentCode ASCII, sectionCode ASCII, checkedAt TIMESTAMP, PRIMARY KEY (franchisedCode, agencyCode) ) ; 如果需要,我可以更改数据库的结构 我会设置一个时间戳: $cassandra = $cluster->connect($keyspace); $statement = $cassandra->pre

我有一张桌子:

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'
    失败
错误消息是
致命错误:未捕获Cassandra\Exception\InvalidArgumentException:无效值类型

你能看出什么不对劲吗? 谢谢,我解决了我的问题。 我必须使用对象类型:
$checkedAt=new\Cassandra\Timestamp($checkedAt)