框架是yii2
用户表中一个余额字段balance.
用户1 userId=1 现在余额 100.00 元
用户2 userId=2和用户3 userId=3 同时向用户1转款100元。
这是当时的情况。
转账用的方法:
public function transfer(){
$userId = 1;
$user = User::findOne($userId);
$newBalance = $user['balance'] + 100;
$user->balance = $newBalance;
$user->save(false);
}
用户2,3同时转账,但是用户1只能收到100元。。。
只能用锁的方式或者原生sql语句来保证数据的正确性吗?
繁星淼淼
呼如林