laravel下的一个简单问题 关于一个搜索款对应多条数据
问题描述:
控制器搜索部分:
public function studentIndex(Request $request) { $payment_statuses = PaymentStatuse::query()->get(); $project_types = ProjectType::query()->get(); $projects = Project::query()->get(); $users = User::query()->get(); $student_name = DB::table('students')->select('name')->get(); $student_tel = DB::table('students')->select('tel')->get(); $student_contact_name = DB::table('students')->select('contact_name')->get(); $student_contact_relation = DB::table('students')->select('contact_relation')->get(); $student_data = Student::query()->get(); $payment_status_id = $request->query('payment_status_id'); $star_lv = $request->query('star_lv'); $notification = $request->query('notification'); $project_id = $request->query('project_id'); $project_type_id = $request->query('project_type_id'); $user_id = $request->query('user_id'); $wish_data = $request->query('wish_data'); $student_all = DB::table('students')->select('name', 'tel', 'contact_name', 'contact_relation')->get(); $data = Student::where(function (Builder $query) use ($payment_status_id, $star_lv, $notification, $project_id, $project_type_id, $user_id, $wish_data, $student_all) { if($wish_data != null){ // $query->where('name' or 'tel' or 'contact_name' or 'contact_relation', 'like', '%' . $wish_data . '%'); $query->where('name', 'like', '%' . $wish_data . '%'); $query->where('tel', 'like', '%' . $wish_data . '%'); $query->where('contact_name', 'like', '%' . $wish_data . '%'); $query->where('contact_relation', 'like', '%' . $wish_data . '%'); } if ($payment_status_id != null) { $query->where('payment_status_id', 'like', '%' . $payment_status_id . '%'); } if($star_lv != null){ $query->where('star_lv', 'like', '%' . $star_lv . '%'); } if($notification != null) { $query->where('notification', 'like', '%' . $notification . '%'); } if($project_id != null){ $query->where('project_id', 'like', '%' . $project_id . '%'); } if($project_type_id != null){ $query->where('project_type_id', 'like', '%' . $project_type_id . '%'); } if($user_id != null){ $query->where('user_id', 'like', '%' . $user_id . '%'); } })->orderByDesc('updated_at')->paginate(9); return view('student.student_index', compact('data', 'payment_statuses', 'project_types', 'student_data', 'projects', 'project_id', 'users', 'payment_status_id', 'star_lv', 'notification', 'project_type_id', 'user_id', 'wish_data', 'student_all')); }
视图搜索部分:
<div class="box box-info"> <div class="box-header with-border"> <span οnclick="ProductFile();"><h3 class="box-title">搜索</h3></span> <a href="/students/draft/index"><button type="button" name="action" value="draft" class="btn btn-xs btn-github draft">我的草稿</button></a> </div> <form id="search" method="get"> <table class="table"> <tr> <td class="pull-right"></td> <td> <div style="display:inline-block;position:relative;"> <div style="position:absolute;right:2px;top:-2px;cursor:pointer;display:none;" class="input_clear"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> </div> 搜索:<input type="text" name="name" id="name" value="{{$wish_data}}" class="form-control input-text w200 form-control" aria-describedby="basic-addon1" style="height:35px;"> </div> </td> </tr> <tr> <td class="pull-right">缴费状态:</td> <td> <select name="payment_status_id" class="form-control"> <option value="">请选择</option> @foreach ($payment_statuses as $payment_status) <option value="{{$payment_status->id}}" @if ($payment_status_id == $payment_status->id) selected @endif> {{$payment_status->name}} </option> @endforeach </select> </td> <td class="pull-right">星级:</td> <td> <select name="star_lv" class="form-control"> <option value="">请选择</option> <option value="1" @if ($star_lv=='1') selected @endif>1星</option> <option value="2" @if ($star_lv=='2') selected @endif>2星</option> <option value="3" @if ($star_lv=='3') selected @endif>3星</option> <option value="4" @if ($star_lv=='4') selected @endif>4星</option> <option value="5" @if ($star_lv=='5') selected @endif>5星</option> </select> </td> <td class="pull-right">提醒:</td> <td> <select name="notification" class="form-control"> <option value="">请选择</option> <option value="0" @if ($notification=='0') selected @endif>不需要</option> <option value="1" @if ($notification=='1') selected @endif>需要</option> </select> </td> </tr> <tr> <td class="pull-right">项目:</td> <td> <select name="project_id" class="form-control"> <option value="">请选择</option> @foreach ($projects as $project) <option value="{{$project->id}}" @if ($project_id == $project->id) selected @endif> {{$project->name}} </option> @endforeach </select> </td> <td class="pull-right">项目类别:</td> <td> <select name="project_type_id" class="form-control"> <option value="">请选择</option> @foreach ($project_types as $project_type) <option value="{{$project_type->id}}" @if ($project_type_id == $project_type->id) selected @endif> {{$project_type->name}} </option> @endforeach </select> </td> <td class="pull-right">信息录入人:</td> <td> <select name="user_id" class="form-control"> <option value="">请选择</option> @foreach ($users as $user) <option value="{{$user->id}}" @if ($user_id == $user->id) selected @endif> {{$user->name}} </option> @endforeach </select> </td> </tr> <tr> <td> <button type="submit" class="btn btn-info pull-right">查询</button> </td> <td> <button onclick="reset()" id="clear_all" type="button" class="btn btn-default">清空</button> </td> </tr> </table> </form> </div>
数据库: 期望得到的四条数据分别为 name tel contact_name contact_relation
其全部位于student表之下
前面尝试了每一条input搜索款对应一个数据没问题。
但是现在想用一个input输入框涵盖除select以外的数据却迟迟没有反应。
可否请老师检查一下是哪里搞错了 , 初学者感谢解答~!
答
只有代码,没有表结构和表数据,光这就让人处理费很多时间了。至少得补上数据部分。