Example #1
0
 public static function logg($method, $data, $limit = null, $offset = 0)
 {
     $entity = new self();
     $join = self::select('number')->distinct('number')->where('method', $method)->whereBetween('created', $data['date'])->orderBy('id', 'desc')->skip($offset);
     $binds = [$method, $data['date']['start'], $data['date']['end']];
     if ($limit !== null) {
         $join->take($limit);
     } else {
         $join->take(100);
     }
     if ($data['id'] !== null) {
         $join->where('pointId', $data['id']);
         $binds[] = $data['id'];
     }
     if ($data['sum'] !== null) {
         $join->where('param', 'sum');
         $join->where('value', $data['sum']);
         $binds[] = 'sum';
         $binds[] = $data['sum'];
     } elseif ($data['num'] !== null) {
         $join->where('param', 'order');
         $join->where('value', $data['num']);
         $binds[] = 'order';
         $binds[] = $data['num'];
     }
     $states = $entity->join(new \Illuminate\Database\Query\Expression('(' . $join->toSql() . ') b'), $entity->table . '.number', '=', 'b.number')->toSql();
     $states = \DB::connection($entity->connection)->select($states, $binds);
     return $states;
 }
Example #2
0
 /**
  * Creates a many2many relation
  * @param $modelClass
  * @param $connection
  * @param array $options
  * @return Relation
  */
 public static function manyToMany($modelClass, $connection, $options = [])
 {
     $options['type'] = self::MANY_TO_MANY;
     $options['modelClass'] = $modelClass;
     $connection = explode('(', $connection);
     $table = $connection[0];
     list($c1, $c2) = explode(',', $connection[1]);
     $r = new self($options);
     $c1 = trim($c1);
     $c2 = trim($c2);
     $r->join(trim($table), [["t.__PK__", "j.{$c1}", "="]])->compare(["j.{$c2}" => "r." . $modelClass::getDb()->getTablePk($modelClass::getTableName())]);
     return $r;
 }
Example #3
0
 public static function create(SR_Player $player, $name)
 {
     $clan = new self(array('sr4cl_id' => '0', 'sr4cl_name' => $name, 'sr4cl_founder' => $player->getID(), 'sr4cl_slogan' => '', 'sr4cl_date' => GWF_Time::getDate(), 'sr4cl_members' => '0', 'sr4cl_max_members' => self::MIN_MEMBERCOUNT, 'sr4cl_storage' => '0', 'sr4cl_max_storage' => self::MIN_STORAGE, 'sr4cl_money' => '0', 'sr4cl_max_money' => self::MIN_MONEY, 'sr4cl_options' => '0'));
     if (false === $clan->insert()) {
         echo GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
         return false;
     }
     if (false === $clan->join($player)) {
         echo GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
         return false;
     }
     if (false === SR_ClanMembers::setClanOptions($clan->getID(), $player->getID(), SR_ClanMembers::FOUNDER)) {
         echo GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
         return false;
     }
     if (false === SR_ClanHistory::onCreate($clan, $player)) {
         echo GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
         return false;
     }
     return $clan;
 }