将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)代码>