Download the PHP package amoydavid/yii2lockable-query without Composer
On this page you can find all versions of the php package amoydavid/yii2lockable-query. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download amoydavid/yii2lockable-query
More information about amoydavid/yii2lockable-query
Files in amoydavid/yii2lockable-query
Download amoydavid/yii2lockable-query
More information about amoydavid/yii2lockable-query
Files in amoydavid/yii2lockable-query
Vendor amoydavid
Package yii2lockable-query
Short Description MySQL InnoDB lock support(select for update) for ActiveRecord
License MIT
Package yii2lockable-query
Short Description MySQL InnoDB lock support(select for update) for ActiveRecord
License MIT
Please rate this library. Is it a good library?
Informations about the package yii2lockable-query
Yii2 Lockable ActiveQuery
This package allows you to use pessimistic locking (select for update) when you work with ActiveRecord Query.
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist amoydavid/yii2lockable-query "*"
or add
"amoydavid/yii2lockable-query": "*"
to the require
section of your composer.json.
Usage
Set schema map for database connection
<?php
return [
'class' => 'yii\db\Connection',
'schemaMap' => [
'mysql' => '\amoydavid\Yii2LockableQuery\mysql\Schema', // set up mysql schema
'mssql' => '\amoydavid\Yii2LockableQuery\mssql\Schema', // set up mssql schema
],
'dsn' => 'mysql:host=localhost;dbname=yii',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
// Schema cache options (for production environment)
//'enableSchemaCache' => true,
//'schemaCacheDuration' => 60,
//'schemaCache' => 'cache',
];
Extend your ActiveRecord class via \amoydavid\Yii2LockableQuery\ActiveRecord
/**
* Class Sample
* @package common\models
*
*/
class Sample extends \amoydavid\Yii2LockableQuery\ActiveRecord { ... }
Use model locks in transaction.
$dbTransaction = $model->getDb()->beginTransaction();
try {
$model = Sample::find()->where(['id'=>1])->forUpdate()->one();
$dbTransaction->commit();
} catch(\Exception $e) {
$dbTransaction->rollBack();
throw $e;
}
Licence
MIT
Links
All versions of yii2lockable-query with dependencies
PHP Build Version
Package Version
The package amoydavid/yii2lockable-query contains the following files
Loading the files please wait ....