Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel中的自动完成搜索_Php_Jquery_Laravel_Autocomplete - Fatal编程技术网

Php Laravel中的自动完成搜索

Php Laravel中的自动完成搜索,php,jquery,laravel,autocomplete,Php,Jquery,Laravel,Autocomplete,我想知道是否有任何方法可以在自动完成搜索框中显示多个字段。它已经在搜索first和last name,但是当用户键入last name时,它只显示first name。但我想知道是否有一种方法可以在搜索结果上显示姓氏或地址。我只得到监护人的身份证,因为这是我唯一需要发送到数据库的东西。下面是我的代码: 这是我的自动完成功能: public function autocomplete(Request $request) { $term=$request->term;

我想知道是否有任何方法可以在自动完成搜索框中显示多个字段。它已经在搜索first和last name,但是当用户键入last name时,它只显示first name。但我想知道是否有一种方法可以在搜索结果上显示姓氏或地址。我只得到监护人的身份证,因为这是我唯一需要发送到数据库的东西。下面是我的代码:

这是我的自动完成功能:

public function autocomplete(Request $request)
    {
        $term=$request->term;
        $data = Guardian::orWhere('first_name','LIKE','%'.$term.'%')
        ->orWhere('last_name','LIKE','%'.$term.'%')
        ->take(10)->get();
        $results=array();
        foreach($data as $key => $v)
        {
            $results[]=['id'=>$v->idguardian, 'value'=>$v->first_name];
        }
        return response()->json($results);
    }
我的看法是:

  <div class="row">
    <div class="col-md-6">
      <h3>New Kid</h3>
      <p> Please search the guardian name for the kid. If the guardian isn't registered please add it</p>
      <form action="{{route('createkid')}}" method="post">
      <div class="form-group">
          <input type="text" name="searchname" class="form-control" id="searchname" placeholder="Search">
          <tr>
            <td>ID</td>
            <td><input type="text" name="idguardian" id="idguardian" class="form-control"></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
          </tr>
    </div>
        <a href="{{URL::to('addguardian/list/')}}" class="btn btn-success btn-xs" >Add Guardian</a>
      <div class ="form-group">
        <label for="first_name">First Name</label>
        <input type="text" name="first_name" class="form-control" placeholder="FirstName">
      </div>   
      <div class ="form-group">
        <label for="middle_name">Middle Name</label>
        <input type="text" name="middle_name" class="form-control" placeholder="MiddleName">
      </div>
      <div class ="form-group">
        <label for="last_name">Last Name</label>
        <input type="text" name="last_name" class="form-control" placeholder="LastName">
      </div>
        <div class ="form-group">
        <label for="dateofbirth">Date Of Birth</label>
        <input type="text" name="dateofbirth" class="form-control" placeholder="DateOfBirth">
      </div>
      <div class ="form-group">
        <label for="sex">Sex</label>
        <input type="text" name="sex" class="form-control" placeholder="Sex">
      </div>
      <div class ="form-group">
        <label for="age">Age</label>
        <input type="text" name="age" class="form-control" placeholder="Age">
      </div>
      <div class ="form-group">
        <label for="schoolname">School Name</label>
        <input type="text" name="schoolname" class="form-control" placeholder="SchoolName">
      </div>
      <div class ="form-group">
        <label for="schoolgrade">School Grade</label>
        <input type="text" name="schoolgrade" class="form-control" placeholder="SchoolGrade">
      </div>
      <div class ="form-group">
        <label for="schoolgroup">School Group</label>
        <input type="text" name="schoolgroup" class="form-control" placeholder="SchoolGroup">
      </div>
      <div class ="form-group">
        <label for="bloodtype">Blood Type</label>
        <input type="text" name="bloodtype" class="form-control" placeholder="BloodType">
      </div>
      <div class ="form-group">
        <label for="allergies">Allergies</label>
        <input type="text" name="allergies" class="form-control" placeholder="Allergies">
      </div>
      <div class ="form-group">
        <label for="enroll_date">Enroll Date</label>
        <input type="text" name="enroll_date" class="form-control" placeholder="EnrollDate">
      </div>
      <div class="form-group">
        {!! Form::label('iduser','Select User') !!}
        {!! Form::select('iduser', $kids, ['class' => 'form-control']) !!}
      </div>

      <button type="submit" class="btn btn-primary">Submit</button>
      <input type="hidden" name="_token" value="{{ Session::token()}}">
    </form>
  </div>
</div>
<script type="text/javascript">
$("#searchname").autocomplete({
  source : '{!!URL::route('autocomplete')!!}',
  minLenght:1,
  autoFocus:true,
  select:function(e, ui){
    $('#idguardian').val(ui.item.id);

  }
});
</script>

我真的希望你能帮助我。谢谢大家!

为什么不在名字后面加上姓呢

public function autocomplete(Request $request)
{
    $term=$request->term;
    $data = Guardian::orWhere('first_name','LIKE','%'.$term.'%')
    ->orWhere('last_name','LIKE','%'.$term.'%')
    ->take(10)->get();
    $results=array();
    foreach($data as $key => $v)
    {
        $results[]=['id'=>$v->idguardian, 'value'=>$v->first_name . ' ' . $v->last_name];
    }
    return response()->json($results);
}

非常感谢你!我以前试过,但我完全忘记了语法。非常感谢。我真的很感激!
public function autocomplete(Request $request)
{
    $term=$request->term;
    $data = Guardian::orWhere('first_name','LIKE','%'.$term.'%')
    ->orWhere('last_name','LIKE','%'.$term.'%')
    ->take(10)->get();
    $results=array();
    foreach($data as $key => $v)
    {
        $results[]=['id'=>$v->idguardian, 'value'=>$v->first_name . ' ' . $v->last_name];
    }
    return response()->json($results);
}