在Laravel 4中创建搜索功能

时间:2014-04-30 22:24:47

标签: php laravel laravel-4

我正在尝试为Laravel 4中的后端创建搜索功能,我可以按(firstnamelastnameemail)搜索用户。到目前为止我有这个功能,但它并没有真正起作用:

public function searchUser() 
{
    $search      = Input::get('search');
    $searchTerms = explode(' ', $search);

    foreach($searchTerms as $term)
    {
        $query = User::Where('firstname', 'LIKE', '%'. $term .'%');
    }

    $results = $query->get();
}

如何在其中获得lastnameemail等其他人?

1 个答案:

答案 0 :(得分:6)

你可以这样做:

<?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);