如何使用用户输入的关键字搜索我的数据库,然后在另一个页面上显示最相关的结果? 我在下面提供的代码只是给了我一个空白页面,我首先假设这只是因为我的数据库中没有任何内容,但是当我检查时有一个带有该关键字的输入。
我的搜索功能:
public function searchUsers()
{
$searchWord = Input::get('searchBox');
return View::make('user.search')->with('users', User::where('fullname', 'LIKE', '%'. $searchWord .'%'));
}
用户以此刀片形式输入单词:
{{ Form::open(array('url' => secure_url('user/searchUsers'), 'class'=>'form-group has-feedback')) }}
<h1 style="font-size:55px; text-align:center;">Search for Friendship!</h1>
<br>
{{ Form::text('searchBox', $value = null, array('placeholder' => 'Search', 'class'=> 'form-control input-lg','autofocus' => 'autofocus')) }}
{{ Form::close() }}
我如何显示结果:
@foreach ($users as $user)
<div id="commentPanel"class="panel panel-default">
<div class="panel-heading">{{ $user->fullname }}</div>
<div class="panel-body">
<p id="commentP">{{ $user->email }}</p>
</div>
</div>
答案 0 :(得分:1)
嗯,你没有从数据库返回用户,你只需在Eloquent对象中设置where条件,它只返回一个查询对象。将您的退货声明更改为:
return View::make('user.search')
->with(
'users',
User::where('fullname', 'LIKE', '%'. $searchWord .'%')->get()
);