作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 4 个 HTML 选择 用户
、行业
、lead_source
和 国家/地区
。这些选择的默认值等于选择。
我想进行查询以从表中选择行引导,其中仅包含选定的值。
这是html代码:
<select class="form-control" name="lead_source">
<option value="select">-SELECT-</option>
@foreach($leadssource as $leadsource)
<option value="{{ $leadsource -> name }}">{{ $leadsource -> name }}</option>
@endforeach
</select>
<select class="form-control" name="industry">
<option value="select">-SELECT-</option>
@foreach($industries as $industry)
<option value="{{ $industry -> name }}">{{ $industry -> name }}</option>
@endforeach
</select>
<select class="form-control" name="user">
<option value="select">-SELECT-</option>
@foreach($users as $user)
<option value="{{ $user -> name }}">{{ $user -> name }}</option>
@endforeach
</select>
<select class="form-control" name="country">
<option value="select">-SELECT-</option>
@foreach($countries as $country)
<option value="{{ $country -> name }}">{{ $country -> name }}</option>
@endforeach
</select>
我只想选择不等于第一个选项的值,即选择。
I have tried:
使用if语句并检查所有可用的可能性,但这不好,因为如果我再添加一个选项,那么我必须添加更多的if语句。
这是我的第一个 if 语句的示例(如果选择了所有选项):
if($leadSource != 'select' && $industry != 'select' && $user != 'select' && $country != 'select'){
$leads = Main::where('lead_source', '=', $leadSource)
-> where('industry', '=', $industry) -> where('country', '=', $country) -> where('user', '=', $user) -> paginate(50);
return view('filter.show') -> withLeads($leads);
}
最佳答案
您可以尝试:
$query = Main::query();
if(some_filter) {
$query->where(...)
}
if(some_more_filter) {
$query->where(...)
}
$leads = $query->paginate(50);
更新
您可以根据 if 条件链接查询:
$query = Main::query();
if($leadSource != 'select') {
$query->where('lead_source', '=', $leadSource)
}
if($industry != 'select') {
$query->where('industry', '=', $industry)
}
if($user != 'select') {
$query->where('user', '=', $user)
}
if($country != 'select') {
$query->where('country', '=', $country)
}
$leads = $query->paginate(50);
关于php - 选择查询取决于多种可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278260/
我是一名优秀的程序员,十分优秀!