修改
我尝试过使用Laravel 5.2并且它不再抛出错误了。但是我的问题并没有就此止步,因为我无法将查询结果编码为json。我无法确定cassandra是否正在返回数组或其他什么,但我确定它不是json。
原帖:
我在laracasts上尝试过this建议,但它仍然不能让我的laravel连接到cassandra。
我正在做的是将示例代码放在https://github.com/datastax/php-driver#quick-start中,将其放在我的控制器上,然后修改cql语句。原始的PHP工作,但当我把它放在我的控制器上它会抛出一个错误。
我面临的错误是:
未定义的属性:Cassandra \ Cluster \ Builder :: $ build
我使用的代码:
<?php
$cluster = Cassandra::cluster()->withContactPoints('172.17.0.2')->build();
$keyspace = 'testspace';
$session = $cluster->connect($keyspace);
$statement = new Cassandra\SimpleStatement(
'SELECT * FROM users'
);
$future = $session->executeAsync($statement);
$result = $future->get();
echo "Connected to <b>" . $keyspace . "</b> keyspace <br><br>";
foreach ($result as $row) {
printf("The id number <b>%s</b> belongs to <b>%s %s</b>. <br>", $row['user_$
}
我猜测laravel仍然试图知道它们应该在哪里寻找这些功能,即使它们是PHP扩展。
Laravel版本:5.3
卡桑德拉版本:3.9