2017-03-19 1 views
0

ich kleine Suchformular gebaut hilft mir in jobsTable von suchen db

Jobs Tabelle hat jobtitle, jobCompany, jobGovernorate, jobLocation und created_at Spalte

und erzielte Daten aus Suchformular:

{ "jobtitle" : "designer", "jobCompany": null, "jobGovernate": null, "jobLocation": null, "postingDate": "ad"}

Ich meine einige Eingaben können null sein, also wie man dynamische where-Klausel schreibt für Eingaben haben Wert, ich möchte Suchmaschine nach JobTitle, JobCompany oder Alle Eingaben suchen, wenn VA haben lue.

Hinweis: Felder Name und Tabellenspalten Name

gleich sind, wenn es eine Möglichkeit gibt, Arbeitsplätze von meinem db wie

DB::table('jobs')->where($request->all()) 

Sorry für schlechtes Englisch abzurufen, ich weiß nicht, wie zu erklären meine Frage

Antwort

2

Ich ziehe alle Suchfelder zu definieren.

$searchFields = ['jobTitle','jobCompany','jobGovernorate','jobLocation','postingDate']; 
$jobQuery = DB::table('jobs'); 
foreach ($searchFields as $field) { 
    if ($request->has($field)) { 
     $jobQuery->where($field, $request->input($field)); 
    } 
} 
$results = $jobQuery->get(); 
0

müssen Sie die Abfrage, ich meine, was suchen Sie? so etwas wie

DB::table('jobs')->where([ 
['jobTitle', 'like', $request->jobTitle . '%'], 
['jobCompany', 'like', $request->jobCompany . '%']])->get();