[不懂就问] 关于mysql IF 在laravel中得查询使用
背景
- 遇到了一个很奇怪得场景,不知道大家常见不常见,一个参数如果存在就得作为查询条件。
问题详细描述
- 例:单纯例子,可能各位大佬也不会有这样得场景,请帮我看看
if (isset($userId)) {
Users::where('id', $userId)->get();
}
Users::get();
- 例2:我现在得写法是
$userId = '值' ?? 0;
Users::whereRaw('IF('.$userId.'=0, 1, id='.$userId.')')->get();
满,憨的,各位有什么好的写法吗…
- ps: 因我现在的常见需要这样查询的变量蛮多的,也就是一个查询可以需要挂三个这样的条件,if判断会很麻烦…
或者用when也行,具体自己看文档