mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	Russian translation updates [skip ci]
This commit is contained in:
		@ -644,9 +644,16 @@ try {
 | 
				
			|||||||
} catch(\Exception $e) {
 | 
					} catch(\Exception $e) {
 | 
				
			||||||
    $transaction->rollBack();
 | 
					    $transaction->rollBack();
 | 
				
			||||||
    throw $e;
 | 
					    throw $e;
 | 
				
			||||||
 | 
					} catch(\Throwable $e) {
 | 
				
			||||||
 | 
					    $transaction->rollBack();
 | 
				
			||||||
 | 
					    throw $e;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Note: в коде выше ради совместимости с PHP 5.x и PHP 7.x использованы два блока catch. 
 | 
				
			||||||
 | 
					> `\Exception` реализует интерфейс [`\Throwable` interface](http://php.net/manual/ru/class.throwable.php)
 | 
				
			||||||
 | 
					> начиная с PHP 7.0. Если вы используете только PHP 7 и новее, можете пропустить блок с `\Exception`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Второй способ заключается в том, чтобы перечислить операции с базой данных, которые требуют тразнакционного выполнения,
 | 
					Второй способ заключается в том, чтобы перечислить операции с базой данных, которые требуют тразнакционного выполнения,
 | 
				
			||||||
в методе [[yii\db\ActiveRecord::transactions()]]. Например:
 | 
					в методе [[yii\db\ActiveRecord::transactions()]]. Например:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -329,15 +329,18 @@ try {
 | 
				
			|||||||
    // ... executing other SQL statements ...
 | 
					    // ... executing other SQL statements ...
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    $transaction->commit();
 | 
					    $transaction->commit();
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
} catch(\Exception $e) {
 | 
					} catch(\Exception $e) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
    $transaction->rollBack();
 | 
					    $transaction->rollBack();
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    throw $e;
 | 
					    throw $e;
 | 
				
			||||||
 | 
					} catch(\Throwable $e) {
 | 
				
			||||||
 | 
					    $transaction->rollBack();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Note: в коде выше ради совместимости с PHP 5.x и PHP 7.x использованы два блока catch. 
 | 
				
			||||||
 | 
					> `\Exception` реализует интерфейс [`\Throwable` interface](http://php.net/manual/ru/class.throwable.php)
 | 
				
			||||||
 | 
					> начиная с PHP 7.0. Если вы используете только PHP 7 и новее, можете пропустить блок с `\Exception`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
При вызове метода [[yii\db\Connection::beginTransaction()|beginTransaction()]], будет запущена новая транзакция.
 | 
					При вызове метода [[yii\db\Connection::beginTransaction()|beginTransaction()]], будет запущена новая транзакция.
 | 
				
			||||||
Транзакция представлена объектом [[yii\db\Transaction]] сохранённым в переменной `$transaction`. Потом, запросы будут
 | 
					Транзакция представлена объектом [[yii\db\Transaction]] сохранённым в переменной `$transaction`. Потом, запросы будут
 | 
				
			||||||
выполняться в блоке `try...catch...`. Если запросы будут выполнены удачно, будет выполнен метод [[yii\db\Transaction::commit()|commit()]].
 | 
					выполняться в блоке `try...catch...`. Если запросы будут выполнены удачно, будет выполнен метод [[yii\db\Transaction::commit()|commit()]].
 | 
				
			||||||
@ -357,7 +360,7 @@ Yii::$app->db->transaction(function ($db) {
 | 
				
			|||||||
    ....
 | 
					    ....
 | 
				
			||||||
}, $isolationLevel);
 | 
					}, $isolationLevel);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
// or alternatively
 | 
					// или
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$transaction = Yii::$app->db->beginTransaction($isolationLevel);
 | 
					$transaction = Yii::$app->db->beginTransaction($isolationLevel);
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
@ -393,10 +396,10 @@ Yii предоставляет четыре константы для наибо
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```php
 | 
					```php
 | 
				
			||||||
Yii::$app->db->transaction(function ($db) {
 | 
					Yii::$app->db->transaction(function ($db) {
 | 
				
			||||||
    // outer transaction
 | 
					    // внешняя транзакция
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    $db->transaction(function ($db) {
 | 
					    $db->transaction(function ($db) {
 | 
				
			||||||
        // inner transaction
 | 
					        // внутренняя транзакция
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
@ -415,11 +418,17 @@ try {
 | 
				
			|||||||
        $innerTransaction->commit();
 | 
					        $innerTransaction->commit();
 | 
				
			||||||
    } catch (\Exception $e) {
 | 
					    } catch (\Exception $e) {
 | 
				
			||||||
        $innerTransaction->rollBack();
 | 
					        $innerTransaction->rollBack();
 | 
				
			||||||
 | 
					    } catch (\Throwable $e) {
 | 
				
			||||||
 | 
					        $innerTransaction->rollBack();
 | 
				
			||||||
 | 
					        throw $e;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $outerTransaction->commit();
 | 
					    $outerTransaction->commit();
 | 
				
			||||||
} catch (\Exception $e) {
 | 
					} catch (\Exception $e) {
 | 
				
			||||||
    $outerTransaction->rollBack();
 | 
					    $outerTransaction->rollBack();
 | 
				
			||||||
 | 
					} catch (\Throwable $e) {
 | 
				
			||||||
 | 
					    $innerTransaction->rollBack();
 | 
				
			||||||
 | 
					    throw $e;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -560,6 +569,9 @@ try {
 | 
				
			|||||||
} catch(\Exception $e) {
 | 
					} catch(\Exception $e) {
 | 
				
			||||||
    $transaction->rollBack();
 | 
					    $transaction->rollBack();
 | 
				
			||||||
    throw $e;
 | 
					    throw $e;
 | 
				
			||||||
 | 
					} catch (\Throwable $e) {
 | 
				
			||||||
 | 
					    $innerTransaction->rollBack();
 | 
				
			||||||
 | 
					    throw $e;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user