我正在研究谷歌大查询,我想知道我可以使用laravel查询构建器从谷歌大查询服务中获得数据吗?
发布于 2018-04-11 13:27:22
我也在做同样的事情,并试图找出我使用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,而不会产生任何混淆。
发布于 2018-04-10 19:00:53
你不能。查询构建器是为数据库协议设计的。目前,Laravel支持四种数据库:
MySQL
PostgreSQL
SQLite
SQL Server相反,BigQuery是以服务的形式提供的,并且有自己的软件开发工具包。您需要将添加到composer.json BigQuery Cloud包。
https://stackoverflow.com/questions/49749370
复制相似问题