����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 216.73.216.20 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./gltevjme/cbt.bofirm.com/vendor/bavix/laravel-wallet/docs/ru/ |
Upload File : |
# Переводы между кошельками Перевод осуществляется с помощью операций [Deposit](deposit) и [Withdraw](withdraw). Обычно операции делают вывод из "неоткуда" в "некуда", но в данном случае операцию подписывает таблица `transfers`. --- ## Пользователь Проготовим модель, добавив `HasWallet`, `HasWallets` trait's и `Wallet` interface. ```php use Bavix\Wallet\Traits\HasWallet; use Bavix\Wallet\Traits\HasWallets; use Bavix\Wallet\Interfaces\Wallet; class User extends Model implements Wallet { use HasWallet, HasWallets; } ``` ## Сделаем перевод Найдем пользователей. ```php $first = User::first(); $last = User::orderBy('id', 'desc')->first(); // last user $first->getKey() !== $last->getKey(); // true ``` Создадим пользователям кошельки. ```php $name = 'New Wallet'; $firstWallet = $first->createWallet(compact('name')); $lastWallet = $last->createWallet(compact('name')); $firstWallet->deposit(100); $firstWallet->balance; // int(100) $lastWallet->balance; // int(0) ``` Выполним перевод от первого второму. ```php $firstWallet->transfer($lastWallet, 5); $firstWallet->balance; // int(95) $lastWallet->balance; // int(5) ``` ## Принудительный перевод Проверим баланс. ```php $firstWallet->balance; // int(100) $lastWallet->balance; // int(0) ``` Выполним перевод от первого второму. ```php $firstWallet->forceTransfer($lastWallet, 500); $firstWallet->balance; // int(-400) $lastWallet->balance; // int(500) ``` Просто работает!