2017-11-20 24 views
0

laravel高度な検索についてのご意見をお待ちしておりますが、現在私はprice rangeまたはcategoryなどのフォーム内の任意のフィールドを選択できる検索フォームを作成する必要がある電子商取引Webサイトに取り組んでいます。 brandsなどを呼び出し、結果を戻します。Laravel詳細検索ガイド

私の質問は、Laravel Scoutを使用するか、以下のようなカスタム機能を作成して拡張することをお勧めしますか?

$query = DB::table('rooms') 
     ->join("salereservation", "salereservation.room_id", "=", "rooms.room_id") 
     ->join("customers", "customers.id", "=", "salereservation.customer_id") 
     ->where("salereservation.sale_status",'=',1) 
     ->select('rooms.*', 'salereservation.*', 'customers.*'); 

if($fname!=''){ 
    $query->where("fname",'like',"%$fname%"); 
} 

if($lname!=''){ 
    $query->where("lname",'like',"%$lname%"); 
} 
if($time_in!=''){ 
    $query->where("start_datetime",'like',"%$time_in%"); 
} 
if($time_out!=''){ 
    $query->where("end_datetime",'like',"%$time_out%"); 
} 
if($phone!=''){ 
    $query->where("phone",'like',"%$phone%"); 
} 
if($room_no!=''){ 
    $query->where("room_no",'like',"%$room_no%"); 
} 
$data = $query->get(); //finally get the result 

明らかに上記のコードは、私が- Source

が正しい判断をするために私を助けてください必要なオプションではありません。

PS:このアプリケーションのデータベースは大量になるため、大きなデータベースで作業する必要があります。

ありがとうございます。

+0

https://www.algolia.com/のようなものを使うことができます。 – Serge

+0

@ Serge私はアルジリアを使わないようにしています。 – mafortis

答えて

2

laravelの1つの単純な雄弁な(または生の)クエリではありませんが、厄介なことではありませんが、コードが面倒で性能が良くないUXです。 2-アルゴリアは使いやすいですがセットアップは簡単ですが、かなり高価です(私には分かります)。 3最後にELASTICSEARCHを使用します。これはalgoliaのような検索エンジンですが、チーターの価格設定やその他のオプションがあり、どのように設定してもかまいません。

0

はい、機能が重い場合は、laravel スカウトを使用できます。または正常な機能をお持ちの場合はコスチュームの機能を使用することができます。今あなたの選択肢を使用することができますか?

関連する問題