php - 在 Laravel 4 中创建搜索功能

标签 php laravel laravel-4

我正在尝试在 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/

相关文章:

php - 如何在正则表达式中验证 BIGINT

php - Google Chrome 自动填充不提供记住登录信息

php - 拉拉维尔 4 : run multiple update query in 1 request

php - 在搜索中输入字符 ñ 时,它会从数据库中检索所有行

php - 简单的递归函数不起作用

php - 使用ajax登录安全吗?

php - 使用 PHP Imagine 应用蒙版

php - 使用 Eloquent 时 Laravel 5.1 加入问题

laravel - laravel中删除行时如何更新字段

php - 包迁移不起作用(没有错误)