laravel下的一个简单问题 关于一个搜索款对应多条数据

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以外的数据却迟迟没有反应。

可否请老师检查一下是哪里搞错了 , 初学者感谢解答~!

只有代码,没有表结构和表数据,光这就让人处理费很多时间了。至少得补上数据部分。