laravel - 生成的 sql 末尾的奇怪字符串 - “为空”
问题描述
我试图从数据库中选择一些记录,但它没有用。所以我把get()方法去掉,换成toSql()方法看看是什么。
$events = DB::table("events")->where(DB::raw("(Month='$pm' and Day='$pd' and calendar='jalali') or (Month='$mm' and Day='$md' and calendar='gregorian') or (Month='$hm' and Day='$hd' and calendar='hijri')"))->toSql();
dd($events);
它给了我这个:
select * from `events` where (Month='11' and Day='28' and calendar='jalali') or (Month='2' and Day='16' and calendar='gregorian') or (Month='7' and Day='4' and calendar='hijri') is null
最后是什么“为空”?
解决方案
where 子句至少接受两个参数,你已经通过了一个。
第二个参数默认为“null”,这就是为什么您在查询末尾看到“is null”语句的原因
对于原始位置,您可以使用whereRaw
$events = DB::table("events")->whereRaw("(Month='$pm' and Day='$pd' and calendar='jalali') or (Month='$mm' and Day='$md' and calendar='gregorian') or (Month='$hm' and Day='$hd' and calendar='hijri')")->toSql();
推荐阅读
- json - curl http 请求返回错误/非法格式或缺少 REST Api 的 URL
- python - python中的实例方法调用
- android - 通过intent-filter kotlin从其他应用程序接收数据?
- unity3d - 如何停止在 Unity2D 中获取 UI 元素的鼠标位置?
- java - 如何使用 Java 从 MySQL 输出数据?
- node.js - 一次将嵌套对象添加到 mongodb 并更新整个文档,如果需要,在异步函数中添加另一个文档
- javascript - 用新链接替换未链接的 URL,而不破坏旧链接
- c# - 将派生类对象传递给函数
- javascript - 滚动时翻转滚动
- java - JUnit Mockito 休息模板空指针异常