laravel对具有limit子句的查询进行分页

laravel对具有limit子句的查询进行分页,laravel,eloquent,Laravel,Eloquent,你有一个10000名客户的数据库。您希望将搜索限制为仅500个客户,但希望将结果分页为每页50个结果。所以最后一页,第10页,会有50个结果。没有第11页 这是否可能与雄辩的/拉拉维尔?类似于“按字段desc limit 500从人员订单中选择*然后对这些结果执行分页 Paginate似乎使用->take()和->offset(),它们忽略->limit()。我希望能够同时使用这三种功能。试试以下方法: Article::where([['user_id','=',auth()->user

你有一个10000名客户的数据库。您希望将搜索限制为仅500个客户,但希望将结果分页为每页50个结果。所以最后一页,第10页,会有50个结果。没有第11页

这是否可能与雄辩的/拉拉维尔?类似于“按字段desc limit 500从人员订单中选择*然后对这些结果执行分页

Paginate似乎使用->take()和->offset(),它们忽略->limit()。我希望能够同时使用这三种功能。

试试以下方法:

Article::where([['user_id','=',auth()->user()->id]])
            ->where([['title','LIKE',"%".$text_val."%"]])
            ->orderBy('id','DESC')
            ->get();
或者使用“DB”

试试这个:

Article::where([['user_id','=',auth()->user()->id]])
            ->where([['title','LIKE',"%".$text_val."%"]])
            ->orderBy('id','DESC')
            ->get();

或者使用“DB”

尝试LengthAwarePaginator,链接到类似问题:

尝试LengthAwarePaginator,链接到类似问题:

和子查询

        $events = DB::table(function ($query) {
            $query->selectRaw('*')
                ->from('system_events_collected')
                ->orderBy('event_at','desc')
                ->take(500);
        })->paginate(10);
在本例中,我要分页的数据位于一个名为system_events_collected的表中。子查询从该表中获取前500行,然后对结果执行分页。

使用子查询

        $events = DB::table(function ($query) {
            $query->selectRaw('*')
                ->from('system_events_collected')
                ->orderBy('event_at','desc')
                ->take(500);
        })->paginate(10);

在本例中,我要分页的数据位于一个名为system_events_collected的表中。子查询从该表中获取前500行,然后对结果进行分页。

也许您可以将500限制作为子查询,然后对主查询进行分页?也许您可以将500限制作为子查询,然后对主查询进行分页?这是针对同一个问题吗?那么这是没有意义的,因为问题是关于分页的,不一般queries@Snapey问题是“这是否可能与eloquent/laravel一起实现?”类似于“按字段描述限制500从人员订单中选择*,然后对这些结果执行分页?”因此我举了一个例子,您可以使用分页来代替get!它实际上很简单,并且通过添加take(nbr)来增加限制。这是针对同一个问题吗?那么它是没有意义的,因为这个问题是关于分页的,而不是一般的queries@Snapey问题是“对于Elount/laravel,这可能吗?类似于“按字段描述限制500从人员订单中选择*然后对这些结果执行分页?”所以我举一个例子,你可以用paginate代替get!它实际上很简单,通过添加take(nbr)来增加限制