示例#1
0
 private function search()
 {
     $suitablePlanets = \App\Planet::where('planet', $this->data['planet'])->whereBetween('distance', [$this->data['distance'] * 0.99, $this->data['distance'] * 1.01])->get();
     $suitableStars = [];
     foreach ($suitablePlanets as $one) {
         if ($one->star->star != $this->data['star']) {
             continue;
         }
         if ($one->star->class != $this->data['class']) {
             continue;
         }
         if ($one->star->size != $this->data['size']) {
             continue;
         }
         $suitableStars[] = $one->star;
     }
     foreach ($suitableStars as $oneStar) {
         $this->ids[] = $oneStar->address->id;
     }
 }
示例#2
0
 public static function todayStats()
 {
     $today = \Carbon\Carbon::today();
     $now = \Carbon\Carbon::now();
     $statistics = \App\Statcache::whereBetween('created_at', [$today, $now])->first();
     if (!$statistics) {
         $planets = Planet::all()->count();
         $bPlanets = \App\Bariplanet::all()->count();
         $regions = \App\Region::all()->count();
         $addresses = \App\Address::all()->count();
         $tf = Planet::where('planet', '<', 4)->count();
         $bTf = \App\Bariplanet::where('planet', '<', 4)->count();
         $statistics = \App\Statcache::create(['planets' => $planets + $bPlanets, 'regions' => $regions, 'tf' => $tf + $bTf, 'addresses' => $addresses, 'latest_stars' => 0, 'latest_planets' => 0, 'latest_regions' => 0, 'latest_addresses' => 0]);
     }
     $stat['latest'] = $statistics->latest_stars + $statistics->latest_planets;
     $stat['total'] = $statistics->planets;
     $stat['sys'] = $statistics->addresses;
     $stat['tf'] = $statistics->tf;
     $stat['reg'] = $statistics->regions;
     return $stat;
 }
 public function unitePost(Request $request)
 {
     $data = $request->except('_token');
     $planets = \App\Planet::where('planet', $data['planet'])->wherePlandataPrice()->get();
     $array = [];
     $name = '';
     $axis = '';
     $axisNames = [];
     foreach ($planets as $planet) {
         $param = '';
         switch ($data['type']) {
             case 'g':
                 $param = \App\Myclasses\Counter::gravity($planet->mass, $planet->radius);
                 $name = 'Цена от гравитации';
                 $axis = 'G';
                 break;
             case 's':
                 $param = $planet->radius;
                 $name = 'Цена от радиуса';
                 $axis = 'радиус км';
                 break;
             case 't':
                 $param = $planet->temperature;
                 $name = 'Цена от температуры';
                 $axis = 'температура K';
                 break;
             case 'm':
                 $param = $planet->mass;
                 $name = 'Цена от массы';
                 $axis = 'Массы Земли';
                 break;
             case 'p':
                 $param = $planet->pressure;
                 $name = 'Цена от давления';
                 $axis = 'Атмосферы';
                 break;
             case 'a':
                 $param = $planet->atm_type;
                 $name = 'Цена от типа атмосферы';
                 $axis = 'Тип атмосферы';
                 $axisNames = \App\Myclasses\Arrays::atmosphereType();
                 break;
             case 'sg':
                 $param = $planet->{$data}['gas'];
                 $name = 'Цена от состава атмосферы';
                 $axis = 'Концентрация %';
                 break;
             case 'so':
                 $param = $planet->{$data}['orbit'];
                 $name = 'Цена от параметров орбиты';
                 $axis = 'Значение';
                 break;
             case 'v':
                 $param = $planet->volcanism;
                 $name = 'Цена от вулканизма';
                 $axis = 'Тип вулканизма';
                 $axisNames = \App\Myclasses\Arrays::volcanism();
                 break;
         }
         $array[] = ['param' => $param, 'price' => $planet->price];
     }
     return view('moderation.graph', compact('array', 'name', 'axis', 'axisNames'));
 }