Как искать два столбца в одном входе, используя Laravel? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть функция поиска в одном столбце

Вот:

public function resultados_asesores(Request $request){
  $busqueda = $request->asesor;
  $asesores = strtoupper($busqueda);
  $perimetro = DB::table('tbl_perimetros as a')
    ->select('a.id','a.rif','a.cod_cliente','a.razon_social','a.holdings_id')
    ->leftjoin('tbl_holdings as b','b.id','=','a.holdings_id')
    ->leftjoin('tbl_equipo_postventaatcs as c','c.id','=','a.postventaatc_id')
    ->leftjoin('users as e','e.id','=','c.asesor_id')
    ->select(array('a.id','b.hrif','b.hrazon_social','a.rif','a.razon_social','a.estatus'))
    ->where('e.name','like', '%' . $asesores . '%')
    ->orWhere('e.apellido', 'like', '%' . $asesores . '%')
    ->orWhere('e.idop', 'like', '%' . $asesores . '%')
    ->get();

  if($perimetro->count()) {

    return view('Busqueda.resultados_busquedag',compact('perimetro','busqueda'));
  }

      return view('Busqueda.index');
}

У меня проблема, потому что я хотел бы иметь возможность искать имя и апеллид одновременно время в том же поиске ... но таким образом я могу искать только имя или апеллидо ... если я напишу в поиске и (имя и апеллидо), он возвращает меня и ошибку .. Как я могу искать в двух столбцах на в то же время?

это мой ввод

<form id="asesor" class="form-horizontal" action="{{route('resultados_asesores')}}" method="post">
@csrf
<div class="form-group row">
  <label class="col-md-6 col-form-label" for="asesor"></label>
  <div class="col-md-12">
    <input form="asesor" maxlength="100" autocomplete="off" class="form-control" id="asesor" type="text" name="asesor" placeholder="Introduzca el nombre, apellido o IDOP del asesor a buscar">
    <br>
    <div class="pull-right">
    <button form="asesor" class="btn btn-sm btn-info" type="submit">
      Buscar</button>
  </div>
</div>

1 Ответ

0 голосов
/ 17 февраля 2020

Напишите ваш запрос как этот

$perimetro = DB::table('tbl_perimetros as a')
        ->select('a.id', 'a.rif', 'a.cod_cliente', 'a.razon_social', 'a.holdings_id')
        ->leftjoin('tbl_holdings as b', 'b.id', '=', 'a.holdings_id')
        ->leftjoin('tbl_equipo_postventaatcs as c', 'c.id', '=', 'a.postventaatc_id')
        ->leftjoin('users as e', 'e.id', '=', 'c.asesor_id')
        ->select(['a.id', 'b.hrif', 'b.hrazon_social', 'a.rif', 'a.razon_social', 'a.estatus'])
        ->where('e.name', 'like', '%'.$asesores.'%')
        ->where('e.apellido', 'like', '%'.$asesores.'%')
        ->orWhere('e.idop', 'like', '%'.$asesores.'%')
        ->get();
...