ICanBoogie
  • Documentation
  • API Reference
  • ActiveRecord 3.0.x
Namespaces
  • ICanBoogie
    • ActiveRecord
      • ActiveRecordCache
      • Driver
      • Property
      • Validate
        • Reader
        • Validator
        • ValidatorProvider
Classes
  • ActiveRecord

Class ActiveRecord

Active Record facilitates the creation and use of business objects whose data require persistent storage via database.

ICanBoogie\Prototyped
┗ ICanBoogie\ActiveRecord
Namespace: ICanBoogie
Located at ActiveRecord.php

Methods summary

public __construct( string|ICanBoogie\ActiveRecord\Model|null $model = null )

Initializes the $model and ICanBoogie\ActiveRecord::$model_id properties.

Initializes the $model and ICanBoogie\ActiveRecord::$model_id properties.

Parameters

$model

The model managing the active record. A ICanBoogie\ActiveRecord\Model instance can be specified as well as a model identifier. If a model identifier is specified, the model is resolved when the $model property is accessed. If $model is empty, the identifier of the model is read from the ICanBoogie\ActiveRecord::MODEL_ID class constant.

Throws

InvalidArgumentException

if $model is neither a model identifier nor a ICanBoogie\ActiveRecord\Model instance.

public __sleep( void )

Removes the $model property.

Removes the $model property.

Properties whose value are instances of the ICanBoogie\ActiveRecord class are removed from the exported properties.

public __debugInfo( void ) : array

Removes model from the output, since model_id is good enough to figure which model is used.

Removes model from the output, since model_id is good enough to figure which model is used.

Returns

array
protected get_model( void ) : ICanBoogie\ActiveRecord\Model

Returns the model managing the active record.

Returns the model managing the active record.

Returns

ICanBoogie\ActiveRecord\Model
protected get_model_id( void ) : string

Returns the identifier of the model managing the active record.

Returns the identifier of the model managing the active record.

Returns

string
protected get_is_new( void ) : boolean

Whether the record is new or not.

Whether the record is new or not.

Returns

boolean
public save( array $options = [] ) : boolean|integer

Saves the active record using its model.

Saves the active record using its model.

Parameters

$options
Save options.

Returns

boolean|integer

Primary key value of the active record, or a boolean if the primary key is not a serial.

public assert_is_valid( void ) : ICanBoogie\ActiveRecord

Assert that a record is valid.

Assert that a record is valid.

Returns

ICanBoogie\ActiveRecord
$this

Throws

ICanBoogie\ActiveRecord\RecordNotValid
if the record is not valid.
public create_validation_rules( void ) : array

Creates validation rules.

Creates validation rules.

Returns

array
protected alter_persistent_properties( array $properties, ICanBoogie\ActiveRecord\Schema $schema ) : array

Unless it's an acceptable value for a column, columns with null values are discarded. This way, we don't have to define every properties before saving our active record.

Unless it's an acceptable value for a column, columns with null values are discarded. This way, we don't have to define every properties before saving our active record.

Parameters

$properties
$schema
The model's extended schema.

Returns

array
The altered persistent properties
protected update_primary_key( array|string|integer $primary_key )

Updates primary key.

Updates primary key.

Parameters

$primary_key
public delete( void ) : boolean

Deletes the active record using its model.

Deletes the active record using its model.

Returns

boolean
true if the record was deleted, false otherwise.

Throws

Exception
in attempt to delete a record from a model which primary key is empty.

Magic methods summary

public validate( void ) : ICanBoogie\Validate\ValidationErrors

Validate the active record, returns an array of errors.

Validate the active record, returns an array of errors.

Returns

ICanBoogie\Validate\ValidationErrors

Constants summary

SAVE_SKIP_VALIDATION : string
'skip_validation'
MODEL_ID : string

The identifier of the model managing the record.

The identifier of the model managing the record.

null

Properties summary

protected $model_id : string

Identifier of the model managing the active record.

Identifier of the model managing the active record.

Note: Due to a PHP bug (or feature), the visibility of the property MUST NOT be private. https://bugs.php.net/bug.php?id=40412


		

Magic properties

public read-only $model : ICanBoogie\ActiveRecord\Model

The model managing the active record.

public read-only $model_id : string

The identifier of the model managing the active record.

public read-only $is_new : boolean

Whether the record is new or not.

ActiveRecord 3.0.x – Check on GitHub – API documentation generated by ApiGen