0
我有一个表单(Laravel 5.2)进行搜索。我只有一张桌子和我的数据显示。如果我使用姓氏搜索,我希望它显示每个拥有姓氏的人。如果我通过制造商搜索,我希望它显示该制造商生产的所有PC。我基本上试图使数据库中的每列可搜索。Laravel搜索结果未正确显示
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Inventory</title>
<link rel="stylesheet" href="/css/libs.css">
<link rel="stylesheet" href="/css/app.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://inventory.app:8000/computers/create" Inventory</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li>
{{ Form::open(['method' => 'GET', 'url'=>'computers/search']) }}
{{ Form::input('search', 'q', null, ['placeholder' => 'Search...']) }}
{{ Form::close() }}
</li>
<li><a href="http://inventory.app:8000/computers/create">Update Inventory</a></li>
<li><a href="#">Logout</a></li>
</ul>
</div>
</div>
</nav>
我为路由使用了路由资源。我的搜索路线是
Route :: get('computers/search','InventoriesController @ search');
我的搜索器是如下
public function search()
{
$search = \Request::get('search'); //<-- we use global request to get the param of URI
// $search = Input::get('search');
$inventories = Inventory::where('lastName','LIKE','%'.$search.'%')
-> orwhere('firstName', 'LIKE','%'.$search.'%')
-> orwhere('department', 'LIKE','%'.$search.'%')
-> orwhere('building', 'LIKE','%'.$search.'%')
-> orwhere('room', 'LIKE','%'.$search.'%')
-> orwhere('manufacturer', 'LIKE','%'.$search.'%')
-> orwhere('device', 'LIKE','%'.$search.'%')
-> orwhere('model', 'LIKE','%'.$search.'%')
-> orwhere('tag', 'LIKE','%'.$search.'%')
-> orwhere('macAddress', 'LIKE','%'.$search.'%')
-> orwhere('status', 'LIKE','%'.$search.'%')
-> orwhere('comments', 'LIKE','%'.$search.'%')
->get($search);
return view('computers.search',compact('inventories'));
}
我试图做一个排序依据(“搜索”),但没有做任何事情。我的表只显示但因为URL改变 例如http://inventory.app:8000/computers/search?q=Dell
谢谢Aynber。那就是诀窍。我的部分愚蠢的错误! – Afonte