Laravel sqlite3 Eloquent搜索特定关键字的数据库表

时间:2015-05-25 03:39:55

标签: php laravel sqlite

如何使用用户输入的关键字搜索我的数据库,然后在另一个页面上显示最相关的结果? 我在下面提供的代码只是给了我一个空白页面,我首先假设这只是因为我的数据库中没有任何内容,但是当我检查时有一个带有该关键字的输入。

我的搜索功能:

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>

1 个答案:

答案 0 :(得分:1)

嗯,你没有从数据库返回用户,你只需在Eloquent对象中设置where条件,它只返回一个查询对象。将您的退货声明更改为:

return View::make('user.search')
       ->with(
          'users',
           User::where('fullname', 'LIKE', '%'. $searchWord .'%')->get()
       );