如何通过在laravel 5

时间:2017-04-11 13:36:54

标签: laravel search laravel-5

我正在研究laravel中的搜索模块..当我在结果中提交搜索输入中的关键字时,我只获得一条记录..但我在一个名称上有多个用户。如何让同一个名字的多个用户..我试过这个

控制器

class SearchController extends Controller
{
    public function find(Request $request)
    {
    $search=$request->input('search-input');


    $getUser = User::join('personalinfos', 'users.id', '=', 'personalinfos.user_id')->where('users.firstName', 'like', '%' . $search . '%')
        ->orWhere('users.lastName', 'like', '%' . $search . '%')->get();


    return view('pages/search-users',compact('getUser'));


    }
}

表格

<form class="navbar-form navbar-right hidden-sm" id="search-form" action="{{url('/find')}}" method="get">
      {{  csrf_field() }}
      <div class="form-group">
        <i class="icon ion-android-search"></i>
        <input type="text" class="form-control" id="search-input" name="search-input"  placeholder="Search friends, photos, videos">
      </div>
    </form>

路线

Route::get('find', 'SearchController@find');

1 个答案:

答案 0 :(得分:1)

我猜你是想这样做的:

fn bitsint() -> usize {
    if ((isize::max_value() >> 15) >> 15) >= 1 {
        32
    } else {
        16
    }
}

如果它仍然只返回一个用户,那意味着你的条件:

$getUser = User::join('personalinfos AS pi', 'users.id', '=', 'pi.user_id')
               ->where('users.firstName', 'like', '%' . $search . '%')
               ->orWhere('users.lastName', 'like', '%' . $search . '%')
               ->select('users.firstName','users.lastName')
               ->get();

仅适用于该用户。

要确保,请运行:

users.id = pi.user_id

如果您的数据库中有多个同名用户,则最后一个用户必须返回多个用户。

祝你好运!