php - Laravel Eloquent 如果变量存在查询它
问题描述
我有一个包含两个可选字段的表单,即日期和位置。如果用户选择其中任何一个,则查询将使用他们选择的字段以及必填字段。有没有办法使用 eloquent 所以如果变量有值在查询中使用它,如果没有忽略它。我知道我可以使用多个 if 语句,但我想知道是否有更有效的方法。
解决方案
是的,你可以像下面那样做。当它具有来自 POST 的值时,只需将条件链接起来
$query = Item::where(id,$id);
if ($request->date) {
$query->where(date,$request->date);
}
if ($request->location) {
$query->where(location,$request->location);
}
$items = $query->get();
推荐阅读
- excel - Excel,两列,日期比较,特定月份
- azure-ad-b2c - 我们如何将本地帐户登录页面自定义为 Azure AD B2C 中“编辑配置文件”策略的一部分?
- sql-server - 删除 Power BI SQL Server 列上的求和
- docker - 无法从 Laravel 应用程序连接到 Redis
- python - MacOS High Sierra 10.13.6、python3.7安装安装Certificate.command导致SSLError
- apache-nifi - Nifi 通过 Rest-API 创建控制器服务
- java - 如何强制 Java 8 流按顺序执行?
- ibm-mq - 文件夹 /opt/mqm/properties/version/ 和 /opt/mqm/maintenance/8.0.0.6/MQSeriesFTAgent/backup/opt/mqm/properties/version 是否可以安全删除?
- python-2.7 - Python 2nd 动作未执行
- android - 滚动时编辑列表重复数据中的文本