【发布时间】:2022-01-07 13:19:41
【问题描述】:
我正在做一个 Laravel 项目,它应该有点模块化。
我写了一个搜索查询,我想要的如下:
型号:
评估A
评估B
评估C
查看:
{{ Form::open(array('route' => 'search')) }}
<select multiple name="search_by_form[]">
<option selected>Any</option>
<option value="assessment_a">A</option>
<option value="assessment_b">B</option>
<option value="assessment_c">C</option>
</select>
{{ Form::close() }}
控制器:
控制器要复杂得多,但我让您更容易理解我的需求。
现在如下所示:
$user_entry =$request->input('search_by_form', []);
$resultArray = [];
foreach ($user_entry as $entry){
if ($entry == "assessment_a"){
$model_results = AssessmentA::where("approved",1)->get();
} elseif ($entry == "assessment_b"){
$model_results = AssessmentB::where("approved",1)->get();
} elseif($entry == "assessment_c"){
$model_results = AssessmentC::where("approved",1)->get();
}
}
我想要什么:
搜索视图控制器: 遍历特定文件夹中的模型
然后:
{{ Form::open(array('route' => 'search')) }}
<select multiple name="search_by_form[]">
<option selected>Any</option>
@foreach($models as $model)
<option value="{{ $model }}">{{ $model->name }}</option>
@endforeach
</select>
{{ Form::close() }}
除了采用这种丑陋的方法之外,是否可以采用更多类似的方法:
foreach ($user_entry as $entry){
$entry::where("approved",1)->get(); #Obviously the values on the view would be change to "AssessmentA", etc.
}
这可行吗?
提前致谢!
【问题讨论】: