我正试图在Laravel 4中为我的后端创建一个搜索功能,在那里我可以通过(firstname
、lastname
、email
(搜索用户。到目前为止,我有这个功能,但它并没有真正起作用:
public function searchUser()
{
$search = Input::get('search');
$searchTerms = explode(' ', $search);
foreach($searchTerms as $term)
{
$query = User::Where('firstname', 'LIKE', '%'. $term .'%');
}
$results = $query->get();
}
我如何让其他像lastname
、email
这样的人在那里?
您可以这样做:
<?php
public function searchUser()
{
$search = Input::get('search');
$searchTerms = explode(' ', $search);
$query = User::query();
$fields = array('first_name', 'last_name', 'email');
foreach ($searchTerms as $term)
{
foreach ($fields as $field)
{
$query->orWhere($field, 'LIKE', '%'. $term .'%');
}
}
$results = $query->get();
}
通过这种方式,它将对所有字段中的所有搜索项进行LIKE查询。
您也可以通过以下操作对其进行分页:
$result = $query->paginate(10);