$uid, 'symbol'=>$symbol]; $row = self::where($cond)->find(); if ($row) { return self::where($cond)->update(['addr'=>$addr]); }else{ return self::create([ 'uid'=>$uid, 'symbol'=>$symbol, 'addr'=>$addr, ]); } } public static function upsertCoin($uid, $symbol, $amount) { $cond = ['uid'=>$uid, 'symbol'=>$symbol]; $row = self::where($cond)->find(); if ($row) { return self::where($cond)->inc('balance', $amount)->update(); }else{ return self::create([ 'uid'=>$uid, 'symbol'=>$symbol, 'balance'=>$amount, ]); } } }