2017-03-19 5 views
0

私は小さな検索フォームは私が

ジョブテーブルDBからjobsTableで検索することができます建てはjobTitle、jobCompany、jobGovernorate、jobLocationとはcreated_at列

を持っており、検索フォームからデータを掲載:

{ "jobTitle" "jobGompnorate":null、 "jobLocation":null、 "postingDate": "ad"}

入力がnullの可能性があるため、どのように動的where節を書くか入力が値を持っているため、私は検索エンジンがJobTitle、JobCompany、またはすべての入力で検索できるようにしたいルー

ヒント:

下手な英語のため申し訳ありません
DB::table('jobs')->where($request->all()) 

のように私のDBからのジョブを取得する方法があるかどう名とテーブルの列名をフィールド

同じです、私が説明する方法がわかりません私の質問

答えて

2

すべての検索フィールドを定義することをお勧めします。

$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

あなたはあなたが何をお探しですか? のようなもの

DB::table('jobs')->where([ 
['jobTitle', 'like', $request->jobTitle . '%'], 
['jobCompany', 'like', $request->jobCompany . '%']])->get(); 
関連する問題