withTotalCount()

Enables SQL_CALC_FOUND_ROWS before executing a paginated query via get(). This allows you to retrieve the total number of matched rows, regardless of any LIMIT, using getTotalCount().

Signature:

public function withTotalCount(): self

Example: Paginated Query with Total Count

// Limit to 10 results per page, but get full row count
$db->setPageLimit(10);
$db->withTotalCount();

$users = $db->get('test_users');

echo "Page count: " . count($users) . "\n";
echo "Total users (all pages): " . $db->getTotalCount();
Note: Make sure to call withTotalCount() before the get() method. Otherwise, no total will be tracked.
Internally this method injects SQL_CALC_FOUND_ROWS into your SELECT statement. The following SELECT FOUND_ROWS() is used in getTotalCount().

Use Cases

  • Paginated listings (users, orders, products, etc.)
  • APIs that require total rows alongside current page
  • Dashboards with combined LIMIT and total count

See Also