我正在处理 Google 大查询,我想知道我是否可以使用 laravel 查询构建器从 google 大查询服务获取数据?
最佳答案
我正在做同样的事情,并试图为我的用户 laravel 5 查询构建器找出解决方案,然后我得到一个想法,如果我们从查询构建器获取查询并从查询构建器获取绑定(bind),那么我们可以轻松使用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 = ?
现在我有另一个函数可以绑定(bind)该查询。
$bindings = $users->getBindings(); //this statement will return me 3
在那之后,如果我们想要完整的带有绑定(bind)的 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
现在您可以使用 google bigquery
进行 sql 查询,而不会产生任何混淆。
关于laravel-5.2 - 我们可以使用 laravel 5 query builder 进行 google 大查询数据提取吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49749370/