php-activerecord is an open source ORM library based on the ActiveRecord pattern.

v1.2 2015-07-14 11:57 UTC

This package is auto-updated.

Last update: 2020-07-01 00:16:37 UTC


This is a fork of php-activerecord, originally authored by @kla, @jpfuentes2 and its contributors.


php-activerecord is no longer actively being maintained, the original site is dead, and the project is mostly abandoned.

I would not recommend this ORM for any new projects or developments.

This fork contains some quality-of-life enhancements and fixes that are relevant to us and some of our older projects.


We recommend using composer:

composer require softwarepunt/php-activerecord:dev-master

Because we do not actively maintain tags or versions for this project, you should refer to dev-master.

Documentation & usage

(⚠ is dead and being squatted by someone, best to ignore it.)

Fork changes


  • Compatibility with PHP 7.2+ (DateTime).
  • activerecord_autoload no longer causes conflicts when the library is loaded more than once.
  • Fix count(): Parameter must be an array or an object that implements Countable error in find_by_pk().
  • Fix castIntegerSafely() throwing an error if the input is empty (e.g. empty string), now just returns zero.


  • DateTime: Implement \JsonSerializable, format in "c" mode.

  • Added experimental reconnect() function to Connection.

  • Added stupidfastquery($options): this converts options to a query and returns the raw PDO result set without any activerecord magic.

  • Added stupidfastqueryValues($options, $colIndex = 0): runs a stupidfastquery and returns an array of column values.

  • Added stupidfastcount($options): run query, only return row count.

  • Added find_all_with_wrapped_sort($options): this wraps the results in a separate SELECT for faster sorting on JOIN heavy queries.

  • Pass query_info to find($options) options to get generated query data as result (used internally by stupidfastcount & co) - can be used if you want to convert $options to an actual statement:

      'query' => $sql->to_s(),
      'values' => $sql->get_where_values(),
      'readonly' => $readonly,
      'eager_load' => $eager_load