$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, ]); } } public static function getUserCoin($uid, $page, $limit) { $rows = self::alias('c')->join('dict_coin d', 'c.symbol=d.symbol') ->where('c.uid', $uid) ->field('d.icon,c.symbol,c.balance,c.addr') ->order('c.symbol asc') ->page(intval($page), intval($limit)) ->select(); count($rows) && $rows = $rows->toArray(); return $rows; } }