PHP Class ManaPHP\Mvc\Model

Inheritance: extends ManaPHP\Component, implements ManaPHP\Mvc\ModelInterface
Datei anzeigen Open project: manaphp/manaphp

Protected Properties

Property Type Description
$_initialized array
$_snapshot array

Public Methods

Method Description
__callStatic ( string $method, integer | string $arguments ) : array | false | integer | Model | static[]
__construct ( array $data = [], ManaPHP\DiInterface $dependencyInjector = null ) \ManaPHP\Mvc\Model constructor
assign ( array $data, array $whiteList = null ) : static Assigns values to a model from an array
average ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : double Allows to calculate the average value on a column matching the specified conditions
count ( string | array $parameters = null, string $column = '*', integer | array $cacheOptions = null ) : integer | array Allows to count how many records match the specified conditions
create ( array $data = null, array $whiteList = null ) : void Inserts a model instance. If the instance already exists in the persistence it will throw an exception Returning true on success or false otherwise.
delete ( ) : void Deletes a model instance. Returning true on success or false otherwise.
deleteAll ( string | array $conditions, array $bind = [] ) : integer
exists ( string | array $parameters = null, integer | array $cacheOptions = null ) : boolean
find ( string | array $parameters = null, integer | array $cacheOptions = null ) : static[] Allows to query a set of records that match the specified conditions
findAll ( string | array $parameters = null, integer | array $cacheOptions = null ) : static[] alias of find
findFirst ( string | array $parameters = null, integer | array $cacheOptions = null ) : static | false Allows to query the first record that match the specified conditions
getChangedFields ( ) : array Returns a list of changed values
getReadConnection ( ) : ManaPHP\DbInterface Gets the connection used to read data for the model
getReadConnectionService ( ) : string Returns the DependencyInjection connection service name used to read data related the model
getSnapshotData ( ) : array Returns the internal snapshot data
getSource ( ) : string Returns table name mapped in the model
getWriteConnection ( ) : ManaPHP\DbInterface Gets the connection used to write data to the model
getWriteConnectionService ( ) : string Returns the DependencyInjection connection service name used to write data related to the model
hasChanged ( string | array $fields ) : boolean Check if a specific attribute has changed This only works if the model is keeping data snapshots
max ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : mixed Allows to get the max value of a column that match the specified conditions
min ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : mixed Allows to get the min value of a column that match the specified conditions
query ( ManaPHP\DiInterface $dependencyInjector = null ) : ManaPHP\Mvc\Model\QueryBuilderInterface Create a criteria for a specific model
save ( array $data = null, array $whiteList = null ) : void Inserts or updates a model instance. Returning true on success or false otherwise.
setConnectionService ( string $connectionService ) : static Sets the DependencyInjection connection service name
setReadConnectionService ( string $connectionService ) : static Sets the DependencyInjection connection service name used to read data
setSource ( string $source ) : static Sets table name which model should be mapped
setWriteConnectionService ( string $connectionService ) : static Sets the DependencyInjection connection service name used to write data
sum ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : mixed Allows to calculate a summary on a column that match the specified conditions
toArray ( ) : array Returns the instance as an array representation
update ( array $data = null, array $whiteList = null ) : void Updates a model instance. If the instance does n't exist in the persistence it will throw an exception Returning true on success or false otherwise.
updateAll ( array $columnValues, string | array $conditions, array $bind = [] ) : integer

Protected Methods

Method Description
_doLowInsert ( ) : void Sends a pre-build INSERT SQL statement to the relational database system
_doLowUpdate ( ) : void Sends a pre-build UPDATE SQL statement to the relational database system
_exists ( ) : boolean Checks if the current record already exists or not
_fireEvent ( string $eventName ) : void Fires an event, implicitly calls behaviors and listeners in the events manager are notified
_fireEventCancel ( string $eventName ) : boolean Fires an internal event that cancels the operation
_groupResult ( string $function, string $alias, string $column, string | array $parameters, integer | array $cacheOptions ) : mixed Generate a SQL SELECT statement for an aggregate

Method Details

__callStatic() public static method

public static __callStatic ( string $method, integer | string $arguments ) : array | false | integer | Model | static[]
$method string
$arguments integer | string
return array | false | integer | Model | static[]

__construct() final public method

\ManaPHP\Mvc\Model constructor
final public __construct ( array $data = [], ManaPHP\DiInterface $dependencyInjector = null )
$data array
$dependencyInjector ManaPHP\DiInterface

_doLowInsert() protected method

Sends a pre-build INSERT SQL statement to the relational database system
protected _doLowInsert ( ) : void
return void

_doLowUpdate() protected method

Sends a pre-build UPDATE SQL statement to the relational database system
protected _doLowUpdate ( ) : void
return void

_exists() protected method

Checks if the current record already exists or not
protected _exists ( ) : boolean
return boolean

_fireEvent() protected method

Fires an event, implicitly calls behaviors and listeners in the events manager are notified
protected _fireEvent ( string $eventName ) : void
$eventName string
return void

_fireEventCancel() protected method

Fires an internal event that cancels the operation
protected _fireEventCancel ( string $eventName ) : boolean
$eventName string
return boolean

_groupResult() protected static method

Generate a SQL SELECT statement for an aggregate
protected static _groupResult ( string $function, string $alias, string $column, string | array $parameters, integer | array $cacheOptions ) : mixed
$function string
$alias string
$column string
$parameters string | array
$cacheOptions integer | array
return mixed

assign() public method

$robot->assign(array( 'type' => 'mechanical', 'name' => 'Boy', 'year' => 1952 ));
public assign ( array $data, array $whiteList = null ) : static
$data array
$whiteList array
return static

average() public static method

What's the average price of robots? $average = Robots::average(array('column' => 'price')); echo "The average price is ", $average, "\n"; What's the average price of mechanical robots? $average = Robots::average(array("type='mechanical'", 'column' => 'price')); echo "The average price of mechanical robots is ", $average, "\n";
public static average ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : double
$column string
$parameters string | array
$cacheOptions integer | array
return double

count() public static method

How many robots are there? $number = Robots::count(); echo "There are ", $number, "\n"; How many mechanical robots are there? $number = Robots::count("type='mechanical'"); echo "There are ", $number, " mechanical robots\n";
public static count ( string | array $parameters = null, string $column = '*', integer | array $cacheOptions = null ) : integer | array
$parameters string | array
$column string
$cacheOptions integer | array
return integer | array

create() public method

Creating a new robot $robot = new Robots(); $robot->type = 'mechanical'; $robot->name = 'Boy'; $robot->year = 1952; $robot->create(); Passing an array to create $robot = new Robots(); $robot->create(array( 'type' => 'mechanical', 'name' => 'Boy', 'year' => 1952 ));
public create ( array $data = null, array $whiteList = null ) : void
$data array
$whiteList array
return void

delete() public method

$robot = Robots::findFirst("id=100"); $robot->delete(); foreach (Robots::find("type = 'mechanical'") as $robot) { $robot->delete(); }
public delete ( ) : void
return void

deleteAll() public static method

public static deleteAll ( string | array $conditions, array $bind = [] ) : integer
$conditions string | array
$bind array
return integer

exists() public static method

public static exists ( string | array $parameters = null, integer | array $cacheOptions = null ) : boolean
$parameters string | array
$cacheOptions integer | array
return boolean

find() public static method

How many robots are there? $robots = Robots::find(); echo "There are ", count($robots), "\n"; How many mechanical robots are there? $robots = Robots::find("type='mechanical'"); echo "There are ", count($robots), "\n"; Get and print virtual robots ordered by name $robots = Robots::find(array("type='virtual'", "order" => "name")); foreach ($robots as $robot) { echo $robot->name, "\n"; } Get first 100 virtual robots ordered by name $robots = Robots::find(array("type='virtual'", "order" => "name", "limit" => 100)); foreach ($robots as $robot) { echo $robot->name, "\n"; }
public static find ( string | array $parameters = null, integer | array $cacheOptions = null ) : static[]
$parameters string | array
$cacheOptions integer | array
return static[]

findAll() final public static method

alias of find
final public static findAll ( string | array $parameters = null, integer | array $cacheOptions = null ) : static[]
$parameters string | array
$cacheOptions integer | array
return static[]

findFirst() public static method

What's the first robot in robots table? $robot = Robots::findFirst(); echo "The robot name is ", $robot->name; What's the first mechanical robot in robots table? $robot = Robots::findFirst("type='mechanical'"); echo "The first mechanical robot name is ", $robot->name; Get first virtual robot ordered by name $robot = Robots::findFirst(array("type='virtual'", "order" => "name")); echo "The first virtual robot name is ", $robot->name;
public static findFirst ( string | array $parameters = null, integer | array $cacheOptions = null ) : static | false
$parameters string | array
$cacheOptions integer | array
return static | false

getChangedFields() public method

Returns a list of changed values
public getChangedFields ( ) : array
return array

getReadConnection() public method

Gets the connection used to read data for the model
public getReadConnection ( ) : ManaPHP\DbInterface
return ManaPHP\DbInterface

getReadConnectionService() public method

Returns the DependencyInjection connection service name used to read data related the model
public getReadConnectionService ( ) : string
return string

getSnapshotData() public method

Returns the internal snapshot data
public getSnapshotData ( ) : array
return array

getSource() public method

Returns table name mapped in the model
public getSource ( ) : string
return string

getWriteConnection() public method

Gets the connection used to write data to the model
public getWriteConnection ( ) : ManaPHP\DbInterface
return ManaPHP\DbInterface

getWriteConnectionService() public method

Returns the DependencyInjection connection service name used to write data related to the model

hasChanged() public method

Check if a specific attribute has changed This only works if the model is keeping data snapshots
public hasChanged ( string | array $fields ) : boolean
$fields string | array
return boolean

max() public static method

What is the max robot id? $id = Robots::max(array('column' => 'id')); echo "The max robot id is: ", $id, "\n"; What is the max id of mechanical robots? $sum = Robots::max(array("type='mechanical'", 'column' => 'id')); echo "The max robot id of mechanical robots is ", $id, "\n";
public static max ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : mixed
$column string
$parameters string | array
$cacheOptions integer | array
return mixed

min() public static method

What is the min robot id? $id = Robots::min(array('column' => 'id')); echo "The min robot id is: ", $id; What is the min id of mechanical robots? $sum = Robots::min(array("type='mechanical'", 'column' => 'id')); echo "The min robot id of mechanical robots is ", $id;
public static min ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : mixed
$column string
$parameters string | array
$cacheOptions integer | array
return mixed

query() public static method

Create a criteria for a specific model
public static query ( ManaPHP\DiInterface $dependencyInjector = null ) : ManaPHP\Mvc\Model\QueryBuilderInterface
$dependencyInjector ManaPHP\DiInterface
return ManaPHP\Mvc\Model\QueryBuilderInterface

save() public method

Creating a new robot $robot = new Robots(); $robot->type = 'mechanical'; $robot->name = 'Boy'; $robot->year = 1952; $robot->save(); Updating a robot name $robot = Robots::findFirst("id=100"); $robot->name = "Biomass"; $robot->save();
public save ( array $data = null, array $whiteList = null ) : void
$data array
$whiteList array
return void

setConnectionService() public method

Sets the DependencyInjection connection service name
public setConnectionService ( string $connectionService ) : static
$connectionService string
return static

setReadConnectionService() public method

Sets the DependencyInjection connection service name used to read data
public setReadConnectionService ( string $connectionService ) : static
$connectionService string
return static

setSource() public method

Sets table name which model should be mapped
public setSource ( string $source ) : static
$source string
return static

setWriteConnectionService() public method

Sets the DependencyInjection connection service name used to write data
public setWriteConnectionService ( string $connectionService ) : static
$connectionService string
return static

sum() public static method

How much are all robots? $sum = Robots::sum(array('column' => 'price')); echo "The total price of robots is ", $sum, "\n"; How much are mechanical robots? $sum = Robots::sum(array("type='mechanical'", 'column' => 'price')); echo "The total price of mechanical robots is ", $sum, "\n";
public static sum ( string $column, string | array $parameters = null, integer | array $cacheOptions = null ) : mixed
$column string
$parameters string | array
$cacheOptions integer | array
return mixed

toArray() public method

print_r($robot->toArray());
public toArray ( ) : array
return array

update() public method

Updating a robot name $robot = Robots::findFirst("id=100"); $robot->name = "Biomass"; $robot->update();
public update ( array $data = null, array $whiteList = null ) : void
$data array
$whiteList array
return void

updateAll() public static method

public static updateAll ( array $columnValues, string | array $conditions, array $bind = [] ) : integer
$columnValues array
$conditions string | array
$bind array
return integer

Property Details

$_initialized protected_oe static_oe property

protected static array $_initialized
return array

$_snapshot protected_oe property

protected array $_snapshot
return array