我们可以使用laravel 5查询构建器进行谷歌大查询数据提取吗?

时间:2018-04-10 08:54:26

标签: laravel-5.2 google-bigquery

我正在研究Google大查询,我想知道我是否可以使用laravel查询构建器从Google大查询服务获取数据?

2 个答案:

答案 0 :(得分:1)

你不能。查询构建器适用于数据库协议。目前,Laravel支持四个数据库:

MySQL
PostgreSQL
SQLite
SQL Server

BigQuery不是作为服务提供的,而是拥有自己的SDK。您需要将BigQuery Cloud包添加到composer.json。

答案 1 :(得分:1)

我正在研究同样的事情并试图为我的用户laravel 5查询构建器找出解决方案然后我知道如果我们从查询构建器获取查询并从查询构建器获取绑定然后我们可以轻松使用google bigquery的查询目录让我用下面的代码解释。

$users = DB::table('users')
        ->where('id','=','3');

现在我将使用将返回mysql查询的函数。

$sql = $users->toSql(); //this will return the sql query from query builder.

上述陈述的输出将如下

select * from users where id = ?

现在我有另一个函数可以为我提供该查询的绑定。

$bindings = $users->getBindings(); //this statement will return me 3

之后如果我们想要使用绑定完成mysql查询,那么我们还有另一个函数来执行此操作。

public function getSqlWithBinding($sql,$bindDataArr){
    foreach($bindDataArr as $binding)
    {
        $value = is_numeric($binding) ? $binding : "'".$binding."'";
        $sql = preg_replace('/\?/', $value, $sql, 1);
    }
    return $sql;
}

只需将参数中的$sql = $users->toSql();$bindings = $users->getBindings();传递给上述函数,即可获得如下所示的完整查询。

select * from users where id = 3

现在您可以使用sql查询google bigquery而不会产生任何混淆。