如何解决使用whereYear Laravel查询生成器在值为null时切换到其他字段
我对使用whereYear
在第二个字段为空时打开其他字段有疑问。
比如说我们有这个数据库表
+------------+------------+
| field_one | field_two |
+------------+------------+
| 2020 | NULL |
+------------+------------+
我想在field_one
的值为空时切换到field_two
。使用orWhere
无效,因为如果条件不匹配或为假,orWhere
会切换到字段1。我不确定orWhere
是否是解决方案。
$year = Carbon::Now()->year;
$table = DB::table('my_table')
->where(function($table) use ($year) {
$table->whereYear('year','=',$year)
->orWhereYear('year',$year);
})->count();
提前谢谢!
解决方法
您可以将原始查询与IFNULL()
结合使用-whereYear()
基本上将MySQL函数YEAR()
应用于日期时间,我们可以手动将其与{{1}结合起来},如果第一列为IFNULL()
,则会选择第二列。
NULL
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。