以下是我当前的疑问:
$q = $request->q;
-- first table
$n_arr = news::where('title','like',$q)->orWhere('description','like',$q)->get();
-- second table
$p_arr = productions::where('title','like',$q)->orWhere('description','like',$q)->get();
如你所见,目前我通过两个不同的查询来做到这一点。但现在我需要使用->paginate()
,所以我需要一个查询来分页所有结果。我需要类似union
子句的东西。
换句话说,我需要结合上面两个查询的结果。
我怎样才能在Laravel中做到这一点?
答案 0 :(得分:0)
这样做的一种方法是create pagination manually。
另一种方法是在两个查询中使用skip()
和take()
方法来获取当前页面的结果。
$n_arr = news::where('title','like',$q)->orWhere('description','like',$q)->->skip($page * $perPage)->take($perPage)get();
$p_arr = productions::where('title','like',$q)->orWhere('description','like',$q)->skip($page * $perPage)->take($perPage)->get();