当前位置: 首页 > 面试题库 >

在执行查询之前,如何从Laravel的查询生成器中获取原始查询字符串?

孔安福
2023-03-14
问题内容

我有一个由一些条件创建的复杂查询,我想从将要执行的构建器对象中获取最终的SQL查询。我可以那样做吗?


问题答案:

您可以执行以下操作:

$query = DB::table('brands')
                ->join('products','a','=','c')
                ->whereNull('whatever');

echo $query->toSql();

但是Laravel不会在查询中向您显示参数,因为它们是在准备查询后绑定的。

因此,您也可以执行以下操作:

print_r( $query->getBindings() );


 类似资料:
  • 问题内容: 给出以下代码: 我想获取上面的数据库查询生成器将生成的原始SQL查询字符串。在此示例中,它将为。 我该怎么做呢? 问题答案: 要将最近运行的查询输出到屏幕,可以使用以下命令: 我相信最近的查询将在数组的底部。 您将拥有类似的东西:

  • 问题内容: 因此,我有一个很小的查询可以在我的数据库上运行,并且在MySQL Workbench中可以正常工作。基本上,再次使用带有左联接的SELECT和带有左联接的UNION。 在尝试将其翻译为Laravel时没有成功。 我遇到了错误 Builder.php 1249行中的ErrorException:未定义的属性:Illuminate \ Database \ Eloquent \ Build

  • 因此,我在数据库上运行了这个小查询,它在MySQL工作台上运行良好。基本上,使用左连接进行选择,然后再次使用左连接进行并集。 年,他试图把它翻译成拉威尔,但没有成功。 我发现了错误 生成器中的错误异常。php第1249行:未定义的属性:Illumb\Database\Eloquent\Builder::$bindings 我如何在Laravel中执行一个完全原始的查询,或者如何在Laravel中以

  • 这是正在执行查询的函数: 运行此函数时,出现以下异常: SQLSTATE[HY093]:无效的参数编号:未定义参数(SQL:选择名称、总体、圆((ST_Distance(rpoint,'POINT(24.8 43.3648))):数字,1)作为距离,圆(度(ST_Axitation(rpoint,'POINT(24.8 43.3648)):数字,1)作为来自ST_DWithin(rpoint,'P

  • 我对Laravel很陌生,尤其是在从数据库检索东西时。在阅读了他们关于query builder的文档后,我找到了一个部分,其中显示了执行我所需操作的示例代码: 如果不需要整行,可以使用value方法从记录中提取单个值。此方法将直接返回列的值: