Laravel搜索过滤查询构建与分页


Laravel search filter query building with pagination

我有一个搜索表单,用户输入,我过滤掉数据,然后分页。问题是我当我分页Laravel返回整个结果

$searchFilter = arrray('id'=>true);
$building = new Building();
if (isset($searchFilter['id']))
{
    $building->where('id','=', 6);
}
return $building->paginate(20);

表中只有一行id为6。Laravel返回表的所有行。

然而,如果我不分页,它将只返回id为6的行我想让它返回分页应用where操作

找到答案了。我应该把它加到$building的where运算中。这是Laravel fluent works

$searchFilter = arrray('id'=>true);
$building = new Building();
if (isset($searchFilter['id']))
{
   // need to append it to building to make it work
    $building  = $building->where('id','=', 6);
}
return $building->paginate(20);