如何在Laravel中使用自定义查询实现无限滚动?

时间:2017-01-25 04:04:49

标签: laravel pagination laravel-5.3

如何在Laravel中使用自定义查询实现无限滚动? 类似的东西:

$query = Select * from table join table2 on condition where condition order by c1 ;
$l = DB::select($query)->paginate(12);

我有5个州的州,地区,城市,类别和price_range。用户可以搜索字段1到5中的任何一个。然后我有一些其他的url参数来处理像排序一样。

因此,如果我使用自定义查询,那么我可以连接来自url的接收值,并一次运行查询。

这是我的情景。最后的查询看起来就像我上面发布的那样。

TIA

1 个答案:

答案 0 :(得分:0)

对于你的情况,你可以链接这样的条件:

$query = DB::table('table1')
->join('table2', 'table1.id', '=', 'table2.table_id');

if ( $request->has('state') && $request->state != '' ) {
    //We have a state in the query and it's not empty
    $query->where('table1.state', '=', $request->state);
}

if ( $request->has('region') && $request->region != '' ) {
    //We have a region in the query and it's not empty
    $query->where('table1.region', '=', $request->region);
}

//We finished checking all our conditions
//Finishing the query now...

$l = $query->paginate(12);