Я пытаюсь настроить функцию поиска для таблицы, которая извлекает и хранит данные из базы данных. В настоящее время моя таблица может просматривать данные из базы данных, но не может выполнять поиск. Ниже моя таблица, которая отображает данные

<table class="table">
                    <thead class=" text-primary">
                        <th>
                            Brand Name
                        </th>
                        <th>
                            Phone
                        </th>
                        <th>
                            Reg No.
                        </th>
                        <th>
                            Certificate
                        </th>
                        <th>
                            Email
                        </th>
                        <th>
                            User-Role
                        </th>
                        <th>
                            Edit
                        </th>
                        <th>
                            Delete
                        </th>
                    </thead>
                    <tbody>
                        @foreach($user as $receiver)
                        <tr>
                            <td>
                                {{$receiver->name}}
                            </td>
                            <td>
                                {{$receiver->phone}}
                            </td>
                            <td>
                                {{$receiver->regno}}
                            </td>
                            <td>
                                {{$receiver->certificate}}
                            </td>
                            <td>
                                {{$receiver->email}}
                            </td>
                            <td>
                                {{$receiver->usertype}}
                            </td>
                            <td>
                                <a href="/org-edit/{{$receiver->id}}" class="btn btn-success">EDIT</a>
                            </td>
                            <td>
                                <form class = "delete" action="org-delete/{{$receiver->id}}" method="post">
                                    {{csrf_field()}}
                                    {{method_field('DELETE')}}
                                    <button class="delete btn btn-danger" type="submit">Delete</button>
                                </form>
                            </td>
                        </tr>
                        @endforeach

                        <script>
                            $(".delete").on("submit", function(){
                                return confirm("Are you sure?");
                            });
                        </script>
                    </tbody>
                </table>

И форма, которую я использую для поискового запроса.

<form action="{{ url('searchorg')}}" method="post">
{{csrf_field()}}
{{method_field('PUT')}}
<div class="input-group no-border">
    <input type="text" name="q1" class="form-control" placeholder="Search...">
    <div class="input-group-append">
        <div class="input-group-text">
            <i class="now-ui-icons ui-1_zoom-bold"></i>
        </div>
    </div>
</div>

Контроллер "OrganizationController.php"

    public function search(Request $request)
{
   if($q = Input::get ( 'q1' )){
    $user1 = User::where('name','LIKE','%'.$q1.'%')->orWhere('email','LIKE','%'.$q1.'%')->orWhere('phone','LIKE','%'.$q1.'%')->orWhere('usertype','LIKE','%'.$q1.'%')->orWhere('regno','LIKE','%'.$q1.'%')->orWhere('lat','LIKE','%'.$q1.'%')->orWhere('long','LIKE','%'.$q1.'%')->get();
    if(count($user1) > 0)
        return view('admin.register')->withDetails('user',$user1)->withQuery ($q);
    else return view ('admin.register')->withMessage('No Details found. Try to search again !');
}else{ 
    $user = User::where('usertype', 'organization')->get();
    return view('admin/organization.organizations')->with('user',$user);
}
}

И маршрут

Route::any('/searchorg','Admin\OrganizationController@search');

Всякий раз, когда я ищу что-то в форме поиска, появляется ошибка «undefined variable: q1».

Буду признателен за любую помощь. Благодарность

1
Owdenpk 18 Окт 2019 в 12:39

1 ответ

Лучший ответ

Вам следует внести изменения в контроллер:

public function search(Request $request)
{
    $q1 = Input::get( 'q1' );

    if( !empty( $q1 ) ) {

        $user1 = User::where('name','LIKE','%'.$q1.'%')->orWhere('email','LIKE','%'.$q1.'%')->orWhere('phone','LIKE','%'.$q1.'%')->orWhere('usertype','LIKE','%'.$q1.'%')->orWhere('regno','LIKE','%'.$q1.'%')->orWhere('lat','LIKE','%'.$q1.'%')->orWhere('long','LIKE','%'.$q1.'%')->get();
        if(count($user1) > 0){
            return view('admin.register')->withDetails('user',$user1);
        } else { 
            return view ('admin.register')->withMessage('No Details found. Try to search again !');
        }
    } else { 
        $user = User::where('usertype', 'organization')->get();
        return view('admin/organization.organizations')->with('user',$user);
    }
}
0
Amit Senjaliya 18 Окт 2019 в 10:49