$pages->getFresh() method

Get a fresh, non-cached copy of a Page from the database

This method is the same as $pages->get() except that it skips over all memory caches when loading a Page. Meaning, if the Page is already in memory, it doesn’t use the one in memory and instead reloads from the DB. Nor does it place the Page it loads in any memory cache. Use this method to load a fresh copy of a page that you might need to compare to an existing loaded copy, or to load a copy that won’t be seen or touched by anything in ProcessWire other than your own code.

Available since version 3.0.172.


$p1 = $pages->get(1234);
$p2 = $pages->get($p1->path);
$p1 === $p2; // true: same Page instance

$p3 = $pages->getFresh($p1);
$p1 === $p3; // false: same Page but different instance


// basic usage
$page = $pages->getFresh($selectorOrPage);

// usage with all arguments
$page = $pages->getFresh($selectorOrPage, array $options = []);


selectorOrPagePage, string, array, Selectors, int

Specify Page to get copy of, selector or ID

options (optional)array

Options to modify behavior

Return value

$pages methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #528
    In the 528th issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new module called Icons Filter, and more. Read on!
    Weekly.pw / 22 June 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.