Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Limitable
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 processLimit
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3declare(strict_types=1);
4
5namespace DevToolbelt\LaravelFastCrud\Traits;
6
7use Illuminate\Database\Eloquent\Builder;
8
9/**
10 * Provides query limit functionality for Eloquent queries.
11 *
12 * Simple trait to apply a LIMIT clause to queries.
13 */
14trait Limitable
15{
16    /**
17     * Applies a LIMIT clause to the query.
18     *
19     * @param Builder $query The query builder instance
20     * @param int|null $limit Maximum number of records to return (null or 0 to skip)
21     */
22    public function processLimit(Builder $query, ?int $limit = null): void
23    {
24        if ($limit === null || $limit <= 0) {
25            return;
26        }
27
28        $query->limit($limit);
29    }
30}