根据不同的输入更改查询的 where 子句 laravel 5.6

change where clause of query based on different input laravel 5.6

如何根据laravel中的不同输入更改查询的where条件 控制器。

例如,如果我有 law_id 作为输入,那么 where 条件

应该使用这个 law_id 并获取数据。

这是我的代码:

$law_id = Input::get('law_id');
$subject_matter = Input::get('subject_matter');
$case_no = Input::get('case_no');
$court = Input::get('court');
$legal_data = DB::table('tbl_legal_form')->select('*');
if($law_id != '')
{
   $legal_data = $legal_data->where('legal_applicable_law',$law_id);
}
if($subject_matter != '')
{
   $legal_data = $legal_data->where('subject_matter',$subject_matter);
}
$result = $legal_data->get();

最好的方法是什么..?

$legal_data = DB::table('tbl_legal_form');
if($law_id != '')
{
 $legal_data = $legal_data->where('legal_applicable_law',$law_id)->get();
}
if($subject_matter != '')
{
  $legal_data = $legal_data->where('subject_matter',$subject_matter)->get();
}
$result = $legal_data;