繁体   English   中英

如何在laravel中使用搜索功能?

[英]How can i use search functionality in laravel?

我在laravel中编写了搜索栏的代码,我手动进行分页,但我的搜索功能不起作用,

这是我的视图文件代码

<form action="{{url('search-department')}}" method="GET" role="search">
    <div class="form-group">
        <input type="text" class="form-control" name="q" placeholder="Search Department">
    </div>
</form>

我的控制器文件是

//Code For Insert record in collection
public function storeDepartment(Request $request)
{
    $department = new Department();
    $department->createdBy = $request->get('createdBy');
    $department->nameOfDepartment = $request->get('nameOfDepartment');
    $department->save();

    return redirect('list-department')->with('Success', 'Department Added Successfully!');
}

//Code For Seach
public function search(Request $request)
{
    $q = Input::get('q');

    if ($q != '') {
        $listOfDepartment = Department::where('nameOfDepartment', 'like', '%' . $q . '%')
            ->orwhere('createdBy', 'like', '%' . $q . '%')
            ->paginate(2);

        if (count($listOfDepartment) > 0) {
            return view('pages.department')->withData($listOfDepartment);
        }
        // return view('pages.department')->withMessage("No Data Found");
    }
}

和路线是

Route::get('search-department', 'DepartmentController@search');

我想你应该尝试这个代码。

在视野中

<form role="search" method="GET">
    <div class="form-group">
        <input type="hidden" name="_token" value="{{csrf_token()}}">
        <input type="text" class="form-control" name="q" placeholder="Search Department">
    </div>
</form>

在控制器中

public function search(Request $request)
{
    $listOfDepartment = Department::select('*');

    if(isset($request->q) && !empty($request->q))
    {
        $q = $request->q;
        $listOfDepartment = $listOfDepartment->where('nameOfDepartment', 'like', '%' . $q . '%');
        $listOfDepartment = $listOfDepartment->orWhere('createdBy', 'like', '%' . $q . '%');
    }

    $listOfDepartment = $listOfDepartment->->paginate(2);

    if (count($listOfDepartment) > 0) {
        return view('pages.department')->withData($listOfDepartment);
    }
    // return view('pages.department')->withMessage("No Data Found");
}

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM