我正在尝试在 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);
关于php - 在 Laravel 4 中创建搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399099/