new \Where(\Where::_and([ \Where::_operator(self::$PROFILE,'=',$pid), ])), \Query::COUNT => 1, ]); if(!\DB::numRows($r)){ $r = self::insert([ self::$PROFILE => $pid ]); $res = self::getByID($r->id); } else { $res = \DB::fetch($r); } return $res; } static function mathBalance($pid){ $pid = intval($pid); $r = Payment::select([ \Query::SELECT => ['SUM('.Payment::$VALUE.') as cc'], \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(Payment::$PROFILE,'=',$pid), ])) ]); $l = \DB::fetch($r); $balance = cfloatval($l['cc']); $user = self::getByProfile($pid); self::updateById($user[self::$ID],[ self::$BALANCE => $balance, ]); } static function columnInfo() : array { return [ new C([ C::VAR_NAME =>&self::$ID, C::TYPE =>eColumnType::INT, C::AUTO_INCREMENT =>true, C::PRIMARY =>true, C::DEFAULT =>0, C::HIDDEN =>true, C::TH =>V::get(Vars::$ID), ]), new C([ C::VAR_NAME => &self::$PROFILE, C::TYPE => eColumnType::INT, ]), new C([ C::VAR_NAME => &self::$BALANCE, C::TYPE => eColumnType::DOUBLE, C::LENGTH => '10,2', ]), new C([ C::VAR_NAME => &self::$PORTAL, C::TYPE => eColumnType::INT, C::DEFAULT => intval(\Site::$portal_id), c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$ACCOUNT, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$ACCOUNT), C::DEFAULT => intval(\Site::$owner_id), c::HIDDEN=>true, ]), ]; } } new User(); ///