PHP Class yii2tech\balance\ManagerMongoDb
This storage requires
yiisoft/yii2-mongodb extension installed.
Configuration example:
php
return [
'components' => [
'balanceManager' => [
'class' => 'yii2tech\balance\ManagerMongoDb',
'accountCollection' => 'BalanceAccount',
'transactionCollection' => 'BalanceTransaction',
'accountBalanceAttribute' => 'balance',
'extraAccountLinkAttribute' => 'extraAccountId',
],
],
...
];
Since MongoDB is schema-less this manager allows to save any transaction data as plain record attribute, which will
be searchable. However MongoDB does not support transactions, thus usage of this manager may be risk prone.
Show file
Open project: yii2tech/balance
Public Properties
Property |
Type |
Description |
|
$accountCollection |
|
name of the MongoDB collection, which should store account records. |
|
$db |
|
the MongoDB connection object or the application component ID of the MongoDB connection.
After the ManagerMongoDb object is created, if you want to change this property, you should only assign it
with a MongoDB connection object. |
|
$transactionCollection |
|
name of the MongoDB collection, which should store transaction records. |
|
Public Methods
Protected Methods
Method Details
calculateBalance()
public method
createAccount()
protected method
createTransaction()
protected method
findAccountId()
protected method
findTransaction()
protected method
incrementAccountBalance()
protected method
Property Details
$accountCollection public property
name of the MongoDB collection, which should store account records.
public $accountCollection |
the MongoDB connection object or the application component ID of the MongoDB connection.
After the ManagerMongoDb object is created, if you want to change this property, you should only assign it
with a MongoDB connection object.
$transactionCollection public property
name of the MongoDB collection, which should store transaction records.
public $transactionCollection |