繁体   English   中英

如何在 Laravel 的 where 条件下使用 if 语句?

[英]How to use if statement in where condition in Laravel?

我想查询数据库如下:

User::where('type', 'student')->where('registered_at', '>=', $year)->get();

如果用户类型是“学生”,我想从今年开始注册,但是如果类型是“教师”,我不想有这个“注册_at”条件并想执行这个。

User::where('type', 'faculty')->get();

如何执行此操作,所以我有 1 个带有 if 语句的查询,如果类型是“学生”而不是只给我高于这个$year的结果,如果类型是“教师”给出结果?

在文档中找到了解决方案。

    User::where(function ($query) {
        $query->where('type', 'student')->where('registered_at', '>=', $year);
    })->orWhere(function($query) {
        $query->where('type', 'faculty');
    })->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM