如何从数据库中获取值

时间:2015-02-03 08:07:05

标签: laravel-4

当我们可以在文本框中键入一个字母.. onkeyup动​​作完成。去搜索数据库,然后显示下面的相关词语.. 例如:我输入A,然后显示Apple,Ant(我的数据库表中包含这个单词的凝视字母是A)如何从数据库中获取值。 我的controller.php是

public function executeSearch()
{$keywords=Input::get('keywords');
    $users=User::all();
    $searchUsers=new\Illuminate\Database\Eloquent\Collection();
    foreach($users as $u)
    {
    if(Str::contains(Str::Lower($u->name),Str::Lower($keywords)))
        $searchUsers->add($u);
    }
    return View::make('searchUsers')
    ->with('searchUsers',$searchUsers);
}

1 个答案:

答案 0 :(得分:0)

只需使用SQL' LIKE

$users = User::query();

foreach($keywords as $keyword){
    $users->orWhere('name', 'LIKE', '%'.$keyword.'%');
}

$users = $users->get();

然后将其传递给您的观点:

return View::make('searchUsers')->with('users', $users);

在视图中循环结果:

@foreach($users as $user)
    Name: {{ $user->name }}
@endforeach