我有一张桌子:
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
答案 0 :(得分:1)
好吧,我解决了我的问题。
我必须使用对象类型:
$checkedAt = new \Cassandra\Timestamp($checkedAt);