fix import player, new columns remove telescope, consider emty vars in PlayerDataMerge
This commit is contained in:
1 parent
43013d3eec
commit
bef576616f
14 files changed
+552
-1436
No files matched your search
+14
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
/**
|
||||
* A helper file for Laravel, to provide autocomplete information to your IDE
|
||||
* Generated for Laravel 12.70.0.
|
||||
* Generated for Laravel 12.70.2.
|
||||
*
|
||||
* This file should not be included in your code, only analyzed by your IDE!
|
||||
*
|
||||
@@ -2115,6 +2115,19 @@ namespace Illuminate\Support\Facades {
|
||||
return $instance->queue($command, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the registered command instance with the given name, if any.
|
||||
*
|
||||
* @param string $name
|
||||
* @return \Symfony\Component\Console\Command\Command|null
|
||||
* @static
|
||||
*/
|
||||
public static function findCommand($name)
|
||||
{
|
||||
/** @var \Illuminate\Foundation\Console\Kernel $instance */
|
||||
return $instance->findCommand($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all of the commands registered with the console.
|
||||
*
|
||||
|
||||
@@ -7,6 +7,8 @@ use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\LazyCollection;
|
||||
use Spatie\SimpleExcel\SimpleExcelReader;
|
||||
|
||||
use function PHPUnit\Framework\isEmpty;
|
||||
|
||||
class ImportFixtures
|
||||
{
|
||||
public static function run(string $filePath): void
|
||||
@@ -20,6 +22,10 @@ class ImportFixtures
|
||||
|
||||
$row = array_values($row);
|
||||
|
||||
if (isEmpty($row[1])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
0 => 1
|
||||
1 => 87
|
||||
|
||||
@@ -3,9 +3,12 @@
|
||||
namespace App\Filament\Imports\Helper;
|
||||
|
||||
use App\Models\StatistikoPlayer;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\LazyCollection;
|
||||
use Spatie\SimpleExcel\SimpleExcelReader;
|
||||
|
||||
use function PHPUnit\Framework\isEmpty;
|
||||
|
||||
class ImportPlayer
|
||||
{
|
||||
public static function run(string $filePath): void
|
||||
@@ -14,6 +17,7 @@ class ImportPlayer
|
||||
'sport_id',
|
||||
'match_id',
|
||||
'ss_player_id',
|
||||
'starttime',
|
||||
'activeteam_id',
|
||||
'playersubstitute_id',
|
||||
'goals',
|
||||
@@ -78,11 +82,12 @@ class ImportPlayer
|
||||
'player_position',
|
||||
'playerrating_value',
|
||||
'tm_player_id',
|
||||
'season',
|
||||
];
|
||||
|
||||
SimpleExcelReader::create(storage_path('app/public/'.$filePath))
|
||||
->getRows()
|
||||
->chunk(1000)
|
||||
->chunk(200)
|
||||
->each(function (LazyCollection $chunk) use ($fieldnames) {
|
||||
|
||||
foreach ($chunk as $row) {
|
||||
@@ -95,9 +100,14 @@ class ImportPlayer
|
||||
$update_array = [];
|
||||
foreach ($fieldnames as $key => $name) {
|
||||
if ($key == 1) {
|
||||
if (isEmpty($row[$key])) {
|
||||
return false;
|
||||
}
|
||||
$match_id = (int) $row[$key];
|
||||
} elseif ($key == 2) {
|
||||
$ss_player_id = (int) $row[$key];
|
||||
} elseif ($key == 3) {
|
||||
$update_array['starttime'] = Carbon::parse($row[$key], config('app.timezone'))->setTimezone('UTC');
|
||||
} else {
|
||||
$update_array[$name] = $row[$key];
|
||||
}
|
||||
@@ -111,34 +121,7 @@ class ImportPlayer
|
||||
$update_array
|
||||
);
|
||||
}
|
||||
|
||||
// $collection = [];
|
||||
// foreach ($chunk as $row) {
|
||||
// $update_array = [];
|
||||
// foreach ($row as $name => $value) {
|
||||
// switch ($name) {
|
||||
// case 'SS_MATCH_ID':
|
||||
// $update_array['match_id'] = (int) $value;
|
||||
// break;
|
||||
// case 'SS_PLAYER_ID':
|
||||
// $update_array['ss_player_id'] = (int) $value;
|
||||
// break;
|
||||
// default:
|
||||
// $name = strtolower($name);
|
||||
// $update_array[$name] = $value;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// $collection[] = $update_array;
|
||||
// }
|
||||
|
||||
// StatistikoPlayer::upsert(
|
||||
// $collection,
|
||||
// uniqueBy: [
|
||||
// 'match_id',
|
||||
// 'ss_player_id',
|
||||
// ],
|
||||
// update: $fieldnames);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
@@ -10,10 +10,18 @@ class StatistikoPlayer extends Model
|
||||
|
||||
protected $table = 'players';
|
||||
|
||||
protected function casts(): array
|
||||
{
|
||||
return [
|
||||
'starttime' => 'datetime',
|
||||
];
|
||||
}
|
||||
|
||||
protected $fillable = [
|
||||
'sport_id',
|
||||
'match_id',
|
||||
'ss_player_id',
|
||||
'starttime',
|
||||
'activeteam_id',
|
||||
'playersubstitute_id',
|
||||
'goals',
|
||||
@@ -78,21 +86,9 @@ class StatistikoPlayer extends Model
|
||||
'player_position',
|
||||
'playerrating_value',
|
||||
'tm_player_id',
|
||||
'season',
|
||||
];
|
||||
|
||||
// IDENTIFICAZIONE
|
||||
// match_id
|
||||
// ss_player_id
|
||||
|
||||
// AGGIORNAMENTO
|
||||
// tm_player_id
|
||||
// penaltyshoutout_missed
|
||||
// penaltyshoutout_scored
|
||||
// ingamepenalty_missed,
|
||||
// card_yellow
|
||||
// card_yellowred
|
||||
// card_red
|
||||
|
||||
public function event()
|
||||
{
|
||||
return $this->belongsTo(StatistikoEvent::class, 'match_id', 'match_id');
|
||||
|
||||
@@ -15,6 +15,9 @@ trait PlayerDataMerge
|
||||
$part2 = $filtered_part_2[$players_id] ?? [];
|
||||
|
||||
$this->players[$k]['active'] = $part1['active'] ?? 0;
|
||||
if (! $this->players[$k]['active'] && isset($part2['active']) && $part2['active'] == 1) {
|
||||
$this->players[$k]['active'] = 1;
|
||||
}
|
||||
|
||||
$bets = ['gls', 'crn', 'fls', 'ofs', 'crd', 'snt', 'tsh', 'wfl'];
|
||||
foreach ($bets as $bet) {
|
||||
@@ -28,6 +31,12 @@ trait PlayerDataMerge
|
||||
$val1 = $part1[$bettype] ?? 0;
|
||||
$val2 = $part2[$bettype] ?? 0;
|
||||
|
||||
if ($val1 && $val1) {
|
||||
return number_format(($val2 * (100 - $this->part_1_value) + $val1 * $this->part_1_value) / 100, 3);
|
||||
} elseif ($val1) {
|
||||
return number_format($val1, 3);
|
||||
} elseif ($val2) {
|
||||
return number_format($val2, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -252,44 +252,44 @@ trait PlayerFilter
|
||||
if ($pos != 'GK') {
|
||||
$tamx = number_format($map[$pos]['gls'], 3);
|
||||
$final = number_format($result['asp_player_goals'], 3);
|
||||
$results[$key]['finale_tamx_gls'] = $tamx;
|
||||
$results[$key]['finale_calc_gls'] = $final;
|
||||
// $results[$key]['finale_tamx_gls'] = $tamx;
|
||||
// $results[$key]['finale_calc_gls'] = $final;
|
||||
$return[$id]['gls'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
|
||||
$tamx = number_format($map[$pos]['crd'], 3);
|
||||
$final = number_format($result['asp_player_cards'], 3);
|
||||
$results[$key]['finale_tamx_crd'] = $tamx;
|
||||
$results[$key]['finale_calc_crd'] = $final;
|
||||
// $results[$key]['finale_tamx_crd'] = $tamx;
|
||||
// $results[$key]['finale_calc_crd'] = $final;
|
||||
$return[$id]['crd'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
|
||||
$tamx = number_format($map[$pos]['fls'], 3);
|
||||
$final = number_format($result['asp_player_fouls'], 3);
|
||||
$results[$key]['finale_tamx_fls'] = $tamx;
|
||||
$results[$key]['finale_calc_fls'] = $final;
|
||||
// $results[$key]['finale_tamx_fls'] = $tamx;
|
||||
// $results[$key]['finale_calc_fls'] = $final;
|
||||
$return[$id]['fls'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
|
||||
$tamx = number_format($map[$pos]['ofs'], 3);
|
||||
$final = number_format($result['asp_player_offsides'], 3);
|
||||
$results[$key]['finale_tamx_ofs'] = $tamx;
|
||||
$results[$key]['finale_calc_ofs'] = $final;
|
||||
// $results[$key]['finale_tamx_ofs'] = $tamx;
|
||||
// $results[$key]['finale_calc_ofs'] = $final;
|
||||
$return[$id]['ofs'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
|
||||
$tamx = number_format($map[$pos]['tsh'], 3);
|
||||
$final = number_format($result['asp_player_total_shots'], 3);
|
||||
$results[$key]['finale_tamx_tsh'] = $tamx;
|
||||
$results[$key]['finale_calc_tsh'] = $final;
|
||||
// $results[$key]['finale_tamx_tsh'] = $tamx;
|
||||
// $results[$key]['finale_calc_tsh'] = $final;
|
||||
$return[$id]['tsh'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
|
||||
$tamx = number_format($map[$pos]['snt'], 3);
|
||||
$final = number_format($result['asp_player_shots_on_target'], 3);
|
||||
$results[$key]['finale_tamx_snt'] = $tamx;
|
||||
$results[$key]['finale_calc_snt'] = $final;
|
||||
// $results[$key]['finale_tamx_snt'] = $tamx;
|
||||
// $results[$key]['finale_calc_snt'] = $final;
|
||||
$return[$id]['snt'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
|
||||
$tamx = number_format($map[$pos]['wfl'], 3);
|
||||
$final = number_format($result['asp_player_was_fouled'], 3);
|
||||
$results[$key]['finale_tamx_wfl'] = $tamx;
|
||||
$results[$key]['finale_calc_wfl'] = $final;
|
||||
// $results[$key]['finale_tamx_wfl'] = $tamx;
|
||||
// $results[$key]['finale_calc_wfl'] = $final;
|
||||
$return[$id]['wfl'] = (float) $final > (float) $tamx ? $final : $tamx;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,57 +4,28 @@ namespace App\Traits\PlayerProps;
|
||||
|
||||
use App\Models\StatistikoDetail;
|
||||
use App\Models\StatistikoEvent;
|
||||
use App\Models\StatistikoPlayer;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
trait PlayerQuery
|
||||
{
|
||||
public function loadPartsPlayer(int $part, object $players): array
|
||||
{
|
||||
if (! $this->team_id) {
|
||||
return [];
|
||||
}
|
||||
if (! $this->liga_id) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$player_ids = [];
|
||||
foreach ($players as $row) {
|
||||
$player_ids[] = $row->ss_player_id;
|
||||
}
|
||||
|
||||
$matches_ids = [];
|
||||
switch ($this->season_or_date) {
|
||||
case 'season':
|
||||
if (! $this->season_selected) {
|
||||
$this->season_selected = $this->getCurrentSeason();
|
||||
}
|
||||
|
||||
// Log::debug('home_id away_id', [$this->home_id, $this->away_id]);
|
||||
|
||||
$matches_ids = match ($part) {
|
||||
1 => StatistikoEvent::where('league_id', $this->liga_id)
|
||||
->when($this->season_selected, function ($query) {
|
||||
return $query->whereIn('season', $this->season_selected);
|
||||
})->pluck('match_id')->toArray(),
|
||||
2 => StatistikoEvent::where('league_id', $this->liga_id)
|
||||
->when($this->season_selected, function ($query) {
|
||||
return $query->whereNotIn('season', $this->season_selected);
|
||||
})->pluck('match_id')->toArray()
|
||||
};
|
||||
break;
|
||||
default:
|
||||
$matches_ids = match ($part) {
|
||||
1 => StatistikoEvent::where('league_id', $this->liga_id)
|
||||
->when($this->date_spliter, function ($query) {
|
||||
return $query->whereDate('starttime', '>', $this->date_spliter);
|
||||
})->pluck('match_id')->toArray(),
|
||||
2 => StatistikoEvent::where('league_id', $this->liga_id)
|
||||
->when($this->season_selected, function ($query) {
|
||||
return $query->whereDate('starttime', '<=', $this->date_spliter);
|
||||
})->pluck('match_id')->toArray()
|
||||
};
|
||||
}
|
||||
|
||||
Log::debug('matches_ids', $matches_ids);
|
||||
|
||||
$res = StatistikoPlayer::with('details')->whereIn('ss_player_id', $player_ids)->whereIn('match_id', $matches_ids)->get();
|
||||
$arr = [];
|
||||
$count = 0;
|
||||
$res = $this->getPlayers($part, $player_ids);
|
||||
foreach ($res as $val) {
|
||||
|
||||
$ss_player_id = (int) $val->ss_player_id;
|
||||
@@ -63,24 +34,15 @@ trait PlayerQuery
|
||||
$home_id = (int) $val->event->home_id;
|
||||
$away_id = (int) $val->event->away_id;
|
||||
|
||||
if ($ss_player_id == 1200574) {
|
||||
$count++;
|
||||
}
|
||||
|
||||
if (! isset($arr[$ss_player_id])) {
|
||||
self::array_template($arr, $ss_player_id);
|
||||
}
|
||||
|
||||
if ($activeteam_id == $home_id) {
|
||||
$arr[$ss_player_id]['events_played_home'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
$arr[$ss_player_id]['events_played_home'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
} elseif ($activeteam_id == $away_id) {
|
||||
$arr[$ss_player_id]['events_played_away'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
$arr[$ss_player_id]['events_played_away'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
}
|
||||
$cards = $val->card_yellow + $val->card_yellowred;
|
||||
|
||||
@@ -99,8 +61,6 @@ trait PlayerQuery
|
||||
$arr[$ss_player_id]['was_fouled'] += $val->was_fouled;
|
||||
}
|
||||
|
||||
// Log::debug('count 1200574', [$part => $count]);
|
||||
|
||||
foreach ($players as $player) {
|
||||
if (isset($arr[$player->ss_player_id])) {
|
||||
$arr[$player->ss_player_id]['position'] = $player->position;
|
||||
@@ -128,10 +88,8 @@ trait PlayerQuery
|
||||
$player_ids[] = $player->ss_player_id;
|
||||
}
|
||||
|
||||
$matches_ids = StatistikoEvent::where('league_id', $this->liga_id)->pluck('match_id')->toArray();
|
||||
$res = StatistikoPlayer::with('details')->whereIn('ss_player_id', $player_ids)->whereIn('match_id', $matches_ids)->get();
|
||||
|
||||
$arr = [];
|
||||
$res = $this->getPlayers(1, $player_ids);
|
||||
foreach ($res as $val) {
|
||||
|
||||
$ss_player_id = (int) $val->ss_player_id;
|
||||
@@ -141,19 +99,15 @@ trait PlayerQuery
|
||||
$away_id = (int) $val->event->away_id;
|
||||
|
||||
if (! isset($arr[$ss_player_id])) {
|
||||
self::array_template($arr, $ss_player_id);
|
||||
$this->array_template($arr, $ss_player_id);
|
||||
}
|
||||
|
||||
if ($activeteam_id == $home_id) {
|
||||
$arr[$ss_player_id]['events_played_home'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
$arr[$ss_player_id]['events_played_home'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_home'] += $minutes_played;
|
||||
} elseif ($activeteam_id == $away_id) {
|
||||
$arr[$ss_player_id]['events_played_away'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
$arr[$ss_player_id]['events_played_away'] += 1;
|
||||
$arr[$ss_player_id]['minutes_played_away'] += $minutes_played;
|
||||
}
|
||||
$cards = $val->card_yellow + $val->card_yellowred;
|
||||
|
||||
@@ -183,7 +137,7 @@ trait PlayerQuery
|
||||
return $arr;
|
||||
}
|
||||
|
||||
public static function array_template(array &$arr, int $ss_player_id)
|
||||
public function array_template(array &$arr, int $ss_player_id)
|
||||
{
|
||||
$arr[$ss_player_id]['ss_player_id'] = 0;
|
||||
$arr[$ss_player_id]['total_events'] = 0;
|
||||
@@ -221,4 +175,40 @@ trait PlayerQuery
|
||||
|
||||
return $tmp;
|
||||
}
|
||||
|
||||
public function getPlayers(int $part, array $player_ids)
|
||||
{
|
||||
switch ($this->season_or_date) {
|
||||
case 'season':
|
||||
if (! $this->season_selected) {
|
||||
$this->season_selected = $this->getCurrentSeason();
|
||||
}
|
||||
|
||||
return match ($part) {
|
||||
1 => StatistikoEvent::with('details')
|
||||
->whereIn('ss_player_id', $player_ids)
|
||||
->when($this->season_selected, function ($query) {
|
||||
return $query->whereIn('season', $this->season_selected);
|
||||
})->pluck('match_id')->toArray(),
|
||||
2 => StatistikoEvent::with('details')
|
||||
->whereIn('ss_player_id', $player_ids)
|
||||
->when($this->season_selected, function ($query) {
|
||||
return $query->whereNotIn('season', $this->season_selected);
|
||||
})->pluck('match_id')->toArray(),
|
||||
};
|
||||
default:
|
||||
return match ($part) {
|
||||
1 => StatistikoEvent::with('details')
|
||||
->whereIn('ss_player_id', $player_ids)
|
||||
->when($this->date_spliter, function ($query) {
|
||||
return $query->whereDate('starttime', '>', $this->date_spliter);
|
||||
})->pluck('match_id')->toArray(),
|
||||
2 => StatistikoEvent::with('details')
|
||||
->whereIn('ss_player_id', $player_ids)
|
||||
->when($this->season_selected, function ($query) {
|
||||
return $query->whereDate('starttime', '<=', $this->date_spliter);
|
||||
})->pluck('match_id')->toArray()
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
use App\Providers\AppServiceProvider;
|
||||
use App\Providers\Filament\AdminPanelProvider;
|
||||
|
||||
return [
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\Filament\AdminPanelProvider::class,
|
||||
App\Providers\TelescopeServiceProvider::class,
|
||||
AppServiceProvider::class,
|
||||
AdminPanelProvider::class,
|
||||
];
|
||||
@@ -38,7 +38,6 @@
|
||||
"laravel/pail": "*",
|
||||
"laravel/pint": "^1.26",
|
||||
"laravel/sail": "^1.41",
|
||||
"laravel/telescope": "^5.25",
|
||||
"mockery/mockery": "^1.6",
|
||||
"nunomaduro/collision": "^8.6",
|
||||
"pestphp/pest": "^3.8",
|
||||
|
||||
Generated
+352
-473
File diff suppressed because it is too large.
Load diff
@@ -16,6 +16,8 @@ return new class extends Migration
|
||||
Schema::create('players', function (Blueprint $collection) {
|
||||
$collection->index('match_id');
|
||||
$collection->index('ss_player_id');
|
||||
$collection->index('starttime');
|
||||
$collection->index('season');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Get the migration connection name.
|
||||
*/
|
||||
public function getConnection(): ?string
|
||||
{
|
||||
return config('telescope.storage.database.connection');
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
$schema = Schema::connection($this->getConnection());
|
||||
|
||||
$schema->create('telescope_entries', function (Blueprint $table) {
|
||||
$table->bigIncrements('sequence');
|
||||
$table->uuid('uuid');
|
||||
$table->uuid('batch_id');
|
||||
$table->string('family_hash')->nullable();
|
||||
$table->boolean('should_display_on_index')->default(true);
|
||||
$table->string('type', 20);
|
||||
$table->longText('content');
|
||||
$table->dateTime('created_at')->nullable();
|
||||
|
||||
$table->unique('uuid');
|
||||
$table->index('batch_id');
|
||||
$table->index('family_hash');
|
||||
$table->index('created_at');
|
||||
$table->index(['type', 'should_display_on_index']);
|
||||
});
|
||||
|
||||
$schema->create('telescope_entries_tags', function (Blueprint $table) {
|
||||
$table->uuid('entry_uuid');
|
||||
$table->string('tag');
|
||||
|
||||
$table->primary(['entry_uuid', 'tag']);
|
||||
$table->index('tag');
|
||||
|
||||
$table->foreign('entry_uuid')
|
||||
->references('uuid')
|
||||
->on('telescope_entries')
|
||||
->cascadeOnDelete();
|
||||
});
|
||||
|
||||
$schema->create('telescope_monitoring', function (Blueprint $table) {
|
||||
$table->string('tag')->primary();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
$schema = Schema::connection($this->getConnection());
|
||||
|
||||
$schema->dropIfExists('telescope_entries_tags');
|
||||
$schema->dropIfExists('telescope_entries');
|
||||
$schema->dropIfExists('telescope_monitoring');
|
||||
}
|
||||
};
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Get the migration connection name.
|
||||
*/
|
||||
public function getConnection(): ?string
|
||||
{
|
||||
return config('telescope.storage.database.connection');
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
$schema = Schema::connection($this->getConnection());
|
||||
|
||||
$schema->create('telescope_entries', function (Blueprint $table) {
|
||||
$table->bigIncrements('sequence');
|
||||
$table->uuid('uuid');
|
||||
$table->uuid('batch_id');
|
||||
$table->string('family_hash')->nullable();
|
||||
$table->boolean('should_display_on_index')->default(true);
|
||||
$table->string('type', 20);
|
||||
$table->longText('content');
|
||||
$table->dateTime('created_at')->nullable();
|
||||
|
||||
$table->unique('uuid');
|
||||
$table->index('batch_id');
|
||||
$table->index('family_hash');
|
||||
$table->index('created_at');
|
||||
$table->index(['type', 'should_display_on_index']);
|
||||
});
|
||||
|
||||
$schema->create('telescope_entries_tags', function (Blueprint $table) {
|
||||
$table->uuid('entry_uuid');
|
||||
$table->string('tag');
|
||||
|
||||
$table->primary(['entry_uuid', 'tag']);
|
||||
$table->index('tag');
|
||||
|
||||
$table->foreign('entry_uuid')
|
||||
->references('uuid')
|
||||
->on('telescope_entries')
|
||||
->cascadeOnDelete();
|
||||
});
|
||||
|
||||
$schema->create('telescope_monitoring', function (Blueprint $table) {
|
||||
$table->string('tag')->primary();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
$schema = Schema::connection($this->getConnection());
|
||||
|
||||
$schema->dropIfExists('telescope_entries_tags');
|
||||
$schema->dropIfExists('telescope_entries');
|
||||
$schema->dropIfExists('telescope_monitoring');
|
||||
}
|
||||
};
|
||||
+80
-703
@@ -1,704 +1,81 @@
|
||||
{
|
||||
"ss_player_id": 1200574,
|
||||
"total_events": 26,
|
||||
"total_min": 2167,
|
||||
"average_min": 83.0,
|
||||
"events_played_home": 26,
|
||||
"events_played_away": 26,
|
||||
"minutes_played_home": 2128,
|
||||
"minutes_played_away": 2206,
|
||||
"goals": 11,
|
||||
"fouls": 23,
|
||||
"offsides": 7,
|
||||
"shots_on_target": 28,
|
||||
"shots_off_target": 20,
|
||||
"shots_blocked": 14,
|
||||
"total_shots": 62,
|
||||
"was_fouled": 30,
|
||||
"cards": 2
|
||||
}
|
||||
{
|
||||
"ss_player_id": 1200574,
|
||||
"total_events": 3,
|
||||
"total_min": 35,
|
||||
"average_min": 12.0,
|
||||
"events_played_home": 4,
|
||||
"events_played_away": 2,
|
||||
"minutes_played_home": 34,
|
||||
"minutes_played_away": 36,
|
||||
"goals": 1,
|
||||
"fouls": 0,
|
||||
"offsides": 0,
|
||||
"shots_on_target": 1,
|
||||
"shots_off_target": 0,
|
||||
"shots_blocked": 0,
|
||||
"total_shots": 1,
|
||||
"was_fouled": 1,
|
||||
"cards": 0
|
||||
}
|
||||
|
||||
[
|
||||
{
|
||||
"id": 22981,
|
||||
"name": "José Sosa",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "MC",
|
||||
"somma_minuti": 135,
|
||||
"asp_statistica_goals": 0.099,
|
||||
"asp_gioco_goals": 0.099,
|
||||
"asp_teorica_goals": 0.099,
|
||||
"asp_statistica_cards": 0.214,
|
||||
"asp_gioco_cards": 0.214,
|
||||
"asp_teorica_cards": 0.214,
|
||||
"asp_statistica_fouls": 1.353,
|
||||
"asp_gioco_fouls": 1.353,
|
||||
"asp_teorica_fouls": 1.353,
|
||||
"asp_statistica_offsides": 0.058,
|
||||
"asp_gioco_offsides": 0.058,
|
||||
"asp_teorica_offsides": 0.058,
|
||||
"asp_statistica_total_shots": 1.201,
|
||||
"asp_gioco_total_shots": 1.201,
|
||||
"asp_teorica_total_shots": 1.201,
|
||||
"asp_statistica_shots_on_target": 0.474,
|
||||
"asp_gioco_shots_on_target": 0.474,
|
||||
"asp_teorica_shots_on_target": 0.474
|
||||
},
|
||||
{
|
||||
"id": 28381,
|
||||
"name": "Fernando Muslera",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "GK",
|
||||
"somma_minuti": 540,
|
||||
"asp_statistica_goals": 0.0,
|
||||
"asp_gioco_goals": 0.0,
|
||||
"asp_teorica_goals": 0.0,
|
||||
"asp_statistica_cards": 0.0,
|
||||
"asp_gioco_cards": 0.0,
|
||||
"asp_teorica_cards": 0.0,
|
||||
"asp_statistica_fouls": 0.0,
|
||||
"asp_gioco_fouls": 0.0,
|
||||
"asp_teorica_fouls": 0.0,
|
||||
"asp_statistica_offsides": 0.0,
|
||||
"asp_gioco_offsides": 0.0,
|
||||
"asp_teorica_offsides": 0.0,
|
||||
"asp_statistica_total_shots": 0.0,
|
||||
"asp_gioco_total_shots": 0.0,
|
||||
"asp_teorica_total_shots": 0.0,
|
||||
"asp_statistica_shots_on_target": 0.0,
|
||||
"asp_gioco_shots_on_target": 0.0,
|
||||
"asp_teorica_shots_on_target": 0.0
|
||||
},
|
||||
{
|
||||
"id": 158259,
|
||||
"name": "Leandro González Pírez",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "DC",
|
||||
"somma_minuti": 167,
|
||||
"asp_statistica_goals": 0.044,
|
||||
"asp_gioco_goals": 0.044,
|
||||
"asp_teorica_goals": 0.044,
|
||||
"asp_statistica_cards": 0.195,
|
||||
"asp_gioco_cards": 0.195,
|
||||
"asp_teorica_cards": 0.195,
|
||||
"asp_statistica_fouls": 0.959,
|
||||
"asp_gioco_fouls": 0.959,
|
||||
"asp_teorica_fouls": 0.959,
|
||||
"asp_statistica_offsides": 0.036,
|
||||
"asp_gioco_offsides": 0.036,
|
||||
"asp_teorica_offsides": 0.036,
|
||||
"asp_statistica_total_shots": 0.525,
|
||||
"asp_gioco_total_shots": 0.525,
|
||||
"asp_teorica_total_shots": 0.525,
|
||||
"asp_statistica_shots_on_target": 0.263,
|
||||
"asp_gioco_shots_on_target": 0.263,
|
||||
"asp_teorica_shots_on_target": 0.263
|
||||
},
|
||||
{
|
||||
"id": 174519,
|
||||
"name": "Guido Carrillo",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "ST",
|
||||
"somma_minuti": 419,
|
||||
"asp_statistica_goals": 0.374,
|
||||
"asp_gioco_goals": 0.21479713603818618,
|
||||
"asp_teorica_goals": 0.2545978520286396,
|
||||
"asp_statistica_cards": 0.154,
|
||||
"asp_gioco_cards": 0.154,
|
||||
"asp_teorica_cards": 0.154,
|
||||
"asp_statistica_fouls": 1.417,
|
||||
"asp_gioco_fouls": 1.288782816229117,
|
||||
"asp_teorica_fouls": 1.3208371121718379,
|
||||
"asp_statistica_offsides": 0.586,
|
||||
"asp_gioco_offsides": 0.6443914081145585,
|
||||
"asp_teorica_offsides": 0.6297935560859189,
|
||||
"asp_statistica_total_shots": 2.477,
|
||||
"asp_gioco_total_shots": 4.081145584725537,
|
||||
"asp_teorica_total_shots": 3.6801091885441526,
|
||||
"asp_statistica_shots_on_target": 0.93,
|
||||
"asp_gioco_shots_on_target": 1.7183770883054894,
|
||||
"asp_teorica_shots_on_target": 1.521282816229117
|
||||
},
|
||||
{
|
||||
"id": 249893,
|
||||
"name": "Lucas Alario",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "ST",
|
||||
"somma_minuti": 119,
|
||||
"asp_statistica_goals": 0.374,
|
||||
"asp_gioco_goals": 0.374,
|
||||
"asp_teorica_goals": 0.374,
|
||||
"asp_statistica_cards": 0.154,
|
||||
"asp_gioco_cards": 0.154,
|
||||
"asp_teorica_cards": 0.154,
|
||||
"asp_statistica_fouls": 1.417,
|
||||
"asp_gioco_fouls": 1.417,
|
||||
"asp_teorica_fouls": 1.417,
|
||||
"asp_statistica_offsides": 0.586,
|
||||
"asp_gioco_offsides": 0.586,
|
||||
"asp_teorica_offsides": 0.586,
|
||||
"asp_statistica_total_shots": 2.477,
|
||||
"asp_gioco_total_shots": 2.477,
|
||||
"asp_teorica_total_shots": 2.477,
|
||||
"asp_statistica_shots_on_target": 0.93,
|
||||
"asp_gioco_shots_on_target": 0.93,
|
||||
"asp_teorica_shots_on_target": 0.93
|
||||
},
|
||||
{
|
||||
"id": 249929,
|
||||
"name": "Joaquín Correa",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "ST",
|
||||
"somma_minuti": 825,
|
||||
"asp_statistica_goals": 0.374,
|
||||
"asp_gioco_goals": 0.10909090909090909,
|
||||
"asp_teorica_goals": 0.17531818181818182,
|
||||
"asp_statistica_cards": 0.154,
|
||||
"asp_gioco_cards": 0.9818181818181819,
|
||||
"asp_teorica_cards": 0.7748636363636364,
|
||||
"asp_statistica_fouls": 1.417,
|
||||
"asp_gioco_fouls": 0.8727272727272727,
|
||||
"asp_teorica_fouls": 1.0087954545454545,
|
||||
"asp_statistica_offsides": 0.586,
|
||||
"asp_gioco_offsides": 0.21818181818181817,
|
||||
"asp_teorica_offsides": 0.31013636363636365,
|
||||
"asp_statistica_total_shots": 2.477,
|
||||
"asp_gioco_total_shots": 1.8545454545454547,
|
||||
"asp_teorica_total_shots": 2.010159090909091,
|
||||
"asp_statistica_shots_on_target": 0.93,
|
||||
"asp_gioco_shots_on_target": 0.8727272727272727,
|
||||
"asp_teorica_shots_on_target": 0.8870454545454546
|
||||
},
|
||||
{
|
||||
"id": 252313,
|
||||
"name": "Ramiro Funes Mori",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "DC",
|
||||
"somma_minuti": 193,
|
||||
"asp_statistica_goals": 0.044,
|
||||
"asp_gioco_goals": 0.044,
|
||||
"asp_teorica_goals": 0.044,
|
||||
"asp_statistica_cards": 0.195,
|
||||
"asp_gioco_cards": 0.46632124352331605,
|
||||
"asp_teorica_cards": 0.3984909326424871,
|
||||
"asp_statistica_fouls": 0.959,
|
||||
"asp_gioco_fouls": 0.9326424870466321,
|
||||
"asp_teorica_fouls": 0.9392318652849742,
|
||||
"asp_statistica_offsides": 0.036,
|
||||
"asp_gioco_offsides": 0.036,
|
||||
"asp_teorica_offsides": 0.036,
|
||||
"asp_statistica_total_shots": 0.525,
|
||||
"asp_gioco_total_shots": 0.9326424870466321,
|
||||
"asp_teorica_total_shots": 0.8307318652849741,
|
||||
"asp_statistica_shots_on_target": 0.263,
|
||||
"asp_gioco_shots_on_target": 0.263,
|
||||
"asp_teorica_shots_on_target": 0.263
|
||||
},
|
||||
{
|
||||
"id": 359098,
|
||||
"name": "Ezequiel Piovi",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "MC",
|
||||
"somma_minuti": 518,
|
||||
"asp_statistica_goals": 0.099,
|
||||
"asp_gioco_goals": 0.17374517374517376,
|
||||
"asp_teorica_goals": 0.15505888030888032,
|
||||
"asp_statistica_cards": 0.214,
|
||||
"asp_gioco_cards": 0.3474903474903475,
|
||||
"asp_teorica_cards": 0.31411776061776064,
|
||||
"asp_statistica_fouls": 1.353,
|
||||
"asp_gioco_fouls": 2.0849420849420848,
|
||||
"asp_teorica_fouls": 1.9019565637065634,
|
||||
"asp_statistica_offsides": 0.058,
|
||||
"asp_gioco_offsides": 0.058,
|
||||
"asp_teorica_offsides": 0.058,
|
||||
"asp_statistica_total_shots": 1.201,
|
||||
"asp_gioco_total_shots": 0.8687258687258687,
|
||||
"asp_teorica_total_shots": 0.9517944015444015,
|
||||
"asp_statistica_shots_on_target": 0.474,
|
||||
"asp_gioco_shots_on_target": 0.3474903474903475,
|
||||
"asp_teorica_shots_on_target": 0.37911776061776065
|
||||
},
|
||||
{
|
||||
"id": 801037,
|
||||
"name": "Alexis Castro",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "MC",
|
||||
"somma_minuti": 541,
|
||||
"asp_statistica_goals": 0.099,
|
||||
"asp_gioco_goals": 0.16635859519408502,
|
||||
"asp_teorica_goals": 0.14951894639556376,
|
||||
"asp_statistica_cards": 0.214,
|
||||
"asp_gioco_cards": 0.16635859519408502,
|
||||
"asp_teorica_cards": 0.17826894639556376,
|
||||
"asp_statistica_fouls": 1.353,
|
||||
"asp_gioco_fouls": 1.1645101663585953,
|
||||
"asp_teorica_fouls": 1.2116326247689464,
|
||||
"asp_statistica_offsides": 0.058,
|
||||
"asp_gioco_offsides": 0.058,
|
||||
"asp_teorica_offsides": 0.058,
|
||||
"asp_statistica_total_shots": 1.201,
|
||||
"asp_gioco_total_shots": 3.4935304990757854,
|
||||
"asp_teorica_total_shots": 2.9203978743068393,
|
||||
"asp_statistica_shots_on_target": 0.474,
|
||||
"asp_gioco_shots_on_target": 0.33271719038817005,
|
||||
"asp_teorica_shots_on_target": 0.36803789279112753
|
||||
},
|
||||
{
|
||||
"id": 875294,
|
||||
"name": "Gabriel Neves",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "MC",
|
||||
"somma_minuti": 266,
|
||||
"asp_statistica_goals": 0.099,
|
||||
"asp_gioco_goals": 0.099,
|
||||
"asp_teorica_goals": 0.099,
|
||||
"asp_statistica_cards": 0.214,
|
||||
"asp_gioco_cards": 0.3383458646616541,
|
||||
"asp_teorica_cards": 0.30725939849624057,
|
||||
"asp_statistica_fouls": 1.353,
|
||||
"asp_gioco_fouls": 1.0150375939849623,
|
||||
"asp_teorica_fouls": 1.0995281954887217,
|
||||
"asp_statistica_offsides": 0.058,
|
||||
"asp_gioco_offsides": 0.058,
|
||||
"asp_teorica_offsides": 0.058,
|
||||
"asp_statistica_total_shots": 1.201,
|
||||
"asp_gioco_total_shots": 0.3383458646616541,
|
||||
"asp_teorica_total_shots": 0.5540093984962406,
|
||||
"asp_statistica_shots_on_target": 0.474,
|
||||
"asp_gioco_shots_on_target": 0.3383458646616541,
|
||||
"asp_teorica_shots_on_target": 0.37225939849624057
|
||||
},
|
||||
{
|
||||
"id": 927790,
|
||||
"name": "Edwuin Cetré",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "LW",
|
||||
"somma_minuti": 241,
|
||||
"asp_statistica_goals": 0.233,
|
||||
"asp_gioco_goals": 0.233,
|
||||
"asp_teorica_goals": 0.233,
|
||||
"asp_statistica_cards": 0.155,
|
||||
"asp_gioco_cards": 0.37344398340248963,
|
||||
"asp_teorica_cards": 0.31883298755186723,
|
||||
"asp_statistica_fouls": 1.138,
|
||||
"asp_gioco_fouls": 1.4937759336099585,
|
||||
"asp_teorica_fouls": 1.4048319502074689,
|
||||
"asp_statistica_offsides": 0.314,
|
||||
"asp_gioco_offsides": 0.37344398340248963,
|
||||
"asp_teorica_offsides": 0.35858298755186724,
|
||||
"asp_statistica_total_shots": 2.114,
|
||||
"asp_gioco_total_shots": 2.240663900414938,
|
||||
"asp_teorica_total_shots": 2.2089979253112033,
|
||||
"asp_statistica_shots_on_target": 0.745,
|
||||
"asp_gioco_shots_on_target": 0.37344398340248963,
|
||||
"asp_teorica_shots_on_target": 0.46633298755186725
|
||||
},
|
||||
{
|
||||
"id": 940692,
|
||||
"name": "Adolfo Gaich",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "ST",
|
||||
"somma_minuti": 229,
|
||||
"asp_statistica_goals": 0.374,
|
||||
"asp_gioco_goals": 0.374,
|
||||
"asp_teorica_goals": 0.374,
|
||||
"asp_statistica_cards": 0.154,
|
||||
"asp_gioco_cards": 0.154,
|
||||
"asp_teorica_cards": 0.154,
|
||||
"asp_statistica_fouls": 1.417,
|
||||
"asp_gioco_fouls": 1.965065502183406,
|
||||
"asp_teorica_fouls": 1.8280491266375545,
|
||||
"asp_statistica_offsides": 0.586,
|
||||
"asp_gioco_offsides": 1.1790393013100435,
|
||||
"asp_teorica_offsides": 1.0307794759825326,
|
||||
"asp_statistica_total_shots": 2.477,
|
||||
"asp_gioco_total_shots": 2.358078602620087,
|
||||
"asp_teorica_total_shots": 2.387808951965065,
|
||||
"asp_statistica_shots_on_target": 0.93,
|
||||
"asp_gioco_shots_on_target": 0.3930131004366812,
|
||||
"asp_teorica_shots_on_target": 0.5272598253275109
|
||||
},
|
||||
{
|
||||
"id": 941092,
|
||||
"name": "Eric Meza",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "DR",
|
||||
"somma_minuti": 479,
|
||||
"asp_statistica_goals": 0.041,
|
||||
"asp_gioco_goals": 0.041,
|
||||
"asp_teorica_goals": 0.041,
|
||||
"asp_statistica_cards": 0.192,
|
||||
"asp_gioco_cards": 0.192,
|
||||
"asp_teorica_cards": 0.192,
|
||||
"asp_statistica_fouls": 1.097,
|
||||
"asp_gioco_fouls": 1.1273486430062631,
|
||||
"asp_teorica_fouls": 1.1197614822546975,
|
||||
"asp_statistica_offsides": 0.063,
|
||||
"asp_gioco_offsides": 0.063,
|
||||
"asp_teorica_offsides": 0.063,
|
||||
"asp_statistica_total_shots": 0.61,
|
||||
"asp_gioco_total_shots": 0.7515657620041752,
|
||||
"asp_teorica_total_shots": 0.7161743215031314,
|
||||
"asp_statistica_shots_on_target": 0.271,
|
||||
"asp_gioco_shots_on_target": 0.3757828810020876,
|
||||
"asp_teorica_shots_on_target": 0.3495871607515657
|
||||
},
|
||||
{
|
||||
"id": 1003907,
|
||||
"name": "Facundo Farías",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "ST",
|
||||
"somma_minuti": 178,
|
||||
"asp_statistica_goals": 0.374,
|
||||
"asp_gioco_goals": 0.374,
|
||||
"asp_teorica_goals": 0.374,
|
||||
"asp_statistica_cards": 0.154,
|
||||
"asp_gioco_cards": 0.154,
|
||||
"asp_teorica_cards": 0.154,
|
||||
"asp_statistica_fouls": 1.417,
|
||||
"asp_gioco_fouls": 1.417,
|
||||
"asp_teorica_fouls": 1.417,
|
||||
"asp_statistica_offsides": 0.586,
|
||||
"asp_gioco_offsides": 0.586,
|
||||
"asp_teorica_offsides": 0.586,
|
||||
"asp_statistica_total_shots": 2.477,
|
||||
"asp_gioco_total_shots": 2.477,
|
||||
"asp_teorica_total_shots": 2.477,
|
||||
"asp_statistica_shots_on_target": 0.93,
|
||||
"asp_gioco_shots_on_target": 0.93,
|
||||
"asp_teorica_shots_on_target": 0.93
|
||||
},
|
||||
{
|
||||
"id": 1018407,
|
||||
"name": "Gastón Benedetti",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "DL",
|
||||
"somma_minuti": 421,
|
||||
"asp_statistica_goals": 0.042,
|
||||
"asp_gioco_goals": 0.042,
|
||||
"asp_teorica_goals": 0.042,
|
||||
"asp_statistica_cards": 0.19,
|
||||
"asp_gioco_cards": 0.4275534441805226,
|
||||
"asp_teorica_cards": 0.3681650831353919,
|
||||
"asp_statistica_fouls": 1.041,
|
||||
"asp_gioco_fouls": 1.0688836104513064,
|
||||
"asp_teorica_fouls": 1.0619127078384798,
|
||||
"asp_statistica_offsides": 0.073,
|
||||
"asp_gioco_offsides": 0.073,
|
||||
"asp_teorica_offsides": 0.073,
|
||||
"asp_statistica_total_shots": 0.652,
|
||||
"asp_gioco_total_shots": 0.4275534441805226,
|
||||
"asp_teorica_total_shots": 0.4836650831353919,
|
||||
"asp_statistica_shots_on_target": 0.285,
|
||||
"asp_gioco_shots_on_target": 0.285,
|
||||
"asp_teorica_shots_on_target": 0.285
|
||||
},
|
||||
{
|
||||
"id": 1018468,
|
||||
"name": "Tiago Palacios",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "RW",
|
||||
"somma_minuti": 323,
|
||||
"asp_statistica_goals": 0.219,
|
||||
"asp_gioco_goals": 0.2786377708978328,
|
||||
"asp_teorica_goals": 0.2637283281733746,
|
||||
"asp_statistica_cards": 0.155,
|
||||
"asp_gioco_cards": 0.5572755417956656,
|
||||
"asp_teorica_cards": 0.45670665634674923,
|
||||
"asp_statistica_fouls": 1.159,
|
||||
"asp_gioco_fouls": 1.671826625386997,
|
||||
"asp_teorica_fouls": 1.5436199690402477,
|
||||
"asp_statistica_offsides": 0.286,
|
||||
"asp_gioco_offsides": 0.286,
|
||||
"asp_teorica_offsides": 0.286,
|
||||
"asp_statistica_total_shots": 1.992,
|
||||
"asp_gioco_total_shots": 1.9504643962848298,
|
||||
"asp_teorica_total_shots": 1.9608482972136223,
|
||||
"asp_statistica_shots_on_target": 0.709,
|
||||
"asp_gioco_shots_on_target": 0.8359133126934984,
|
||||
"asp_teorica_shots_on_target": 0.8041849845201239
|
||||
},
|
||||
{
|
||||
"id": 1084962,
|
||||
"name": "Brian Aguirre",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "LW",
|
||||
"somma_minuti": 222,
|
||||
"asp_statistica_goals": 0.233,
|
||||
"asp_gioco_goals": 0.233,
|
||||
"asp_teorica_goals": 0.233,
|
||||
"asp_statistica_cards": 0.155,
|
||||
"asp_gioco_cards": 0.155,
|
||||
"asp_teorica_cards": 0.155,
|
||||
"asp_statistica_fouls": 1.138,
|
||||
"asp_gioco_fouls": 2.0270270270270268,
|
||||
"asp_teorica_fouls": 1.8047702702702701,
|
||||
"asp_statistica_offsides": 0.314,
|
||||
"asp_gioco_offsides": 0.314,
|
||||
"asp_teorica_offsides": 0.314,
|
||||
"asp_statistica_total_shots": 2.114,
|
||||
"asp_gioco_total_shots": 4.45945945945946,
|
||||
"asp_teorica_total_shots": 3.873094594594595,
|
||||
"asp_statistica_shots_on_target": 0.745,
|
||||
"asp_gioco_shots_on_target": 1.2162162162162162,
|
||||
"asp_teorica_shots_on_target": 1.098412162162162
|
||||
},
|
||||
{
|
||||
"id": 1116624,
|
||||
"name": "Eros Mancuso",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "DR",
|
||||
"somma_minuti": 270,
|
||||
"asp_statistica_goals": 0.041,
|
||||
"asp_gioco_goals": 0.33333333333333337,
|
||||
"asp_teorica_goals": 0.26025,
|
||||
"asp_statistica_cards": 0.192,
|
||||
"asp_gioco_cards": 0.33333333333333337,
|
||||
"asp_teorica_cards": 0.298,
|
||||
"asp_statistica_fouls": 1.097,
|
||||
"asp_gioco_fouls": 1.0,
|
||||
"asp_teorica_fouls": 1.0242499999999999,
|
||||
"asp_statistica_offsides": 0.063,
|
||||
"asp_gioco_offsides": 0.6666666666666667,
|
||||
"asp_teorica_offsides": 0.51575,
|
||||
"asp_statistica_total_shots": 0.61,
|
||||
"asp_gioco_total_shots": 0.33333333333333337,
|
||||
"asp_teorica_total_shots": 0.40249999999999997,
|
||||
"asp_statistica_shots_on_target": 0.271,
|
||||
"asp_gioco_shots_on_target": 0.33333333333333337,
|
||||
"asp_teorica_shots_on_target": 0.31775
|
||||
},
|
||||
{
|
||||
"id": 1161819,
|
||||
"name": "Santiago Núñez",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "DC",
|
||||
"somma_minuti": 553,
|
||||
"asp_statistica_goals": 0.044,
|
||||
"asp_gioco_goals": 0.044,
|
||||
"asp_teorica_goals": 0.044,
|
||||
"asp_statistica_cards": 0.195,
|
||||
"asp_gioco_cards": 0.162748643761302,
|
||||
"asp_teorica_cards": 0.1708114828209765,
|
||||
"asp_statistica_fouls": 0.959,
|
||||
"asp_gioco_fouls": 1.139240506329114,
|
||||
"asp_teorica_fouls": 1.0941803797468355,
|
||||
"asp_statistica_offsides": 0.036,
|
||||
"asp_gioco_offsides": 0.036,
|
||||
"asp_teorica_offsides": 0.036,
|
||||
"asp_statistica_total_shots": 0.525,
|
||||
"asp_gioco_total_shots": 0.650994575045208,
|
||||
"asp_teorica_total_shots": 0.619495931283906,
|
||||
"asp_statistica_shots_on_target": 0.263,
|
||||
"asp_gioco_shots_on_target": 0.488245931283906,
|
||||
"asp_teorica_shots_on_target": 0.4319344484629295
|
||||
},
|
||||
{
|
||||
"id": 1173598,
|
||||
"name": "Tomás Palacios",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "DC",
|
||||
"somma_minuti": 676,
|
||||
"asp_statistica_goals": 0.044,
|
||||
"asp_gioco_goals": 0.1331360946745562,
|
||||
"asp_teorica_goals": 0.11085207100591714,
|
||||
"asp_statistica_cards": 0.195,
|
||||
"asp_gioco_cards": 0.3994082840236686,
|
||||
"asp_teorica_cards": 0.3483062130177515,
|
||||
"asp_statistica_fouls": 0.959,
|
||||
"asp_gioco_fouls": 0.665680473372781,
|
||||
"asp_teorica_fouls": 0.7390103550295858,
|
||||
"asp_statistica_offsides": 0.036,
|
||||
"asp_gioco_offsides": 0.3994082840236686,
|
||||
"asp_teorica_offsides": 0.3085562130177515,
|
||||
"asp_statistica_total_shots": 0.525,
|
||||
"asp_gioco_total_shots": 0.5325443786982248,
|
||||
"asp_teorica_total_shots": 0.5306582840236685,
|
||||
"asp_statistica_shots_on_target": 0.263,
|
||||
"asp_gioco_shots_on_target": 0.2662721893491124,
|
||||
"asp_teorica_shots_on_target": 0.26545414201183426
|
||||
},
|
||||
{
|
||||
"id": 1185969,
|
||||
"name": "Fabricio Iacovich",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "GK",
|
||||
"somma_minuti": 180,
|
||||
"asp_statistica_goals": 0.0,
|
||||
"asp_gioco_goals": 0.0,
|
||||
"asp_teorica_goals": 0.0,
|
||||
"asp_statistica_cards": 0.0,
|
||||
"asp_gioco_cards": 0.0,
|
||||
"asp_teorica_cards": 0.0,
|
||||
"asp_statistica_fouls": 0.0,
|
||||
"asp_gioco_fouls": 0.5,
|
||||
"asp_teorica_fouls": 0.375,
|
||||
"asp_statistica_offsides": 0.0,
|
||||
"asp_gioco_offsides": 0.0,
|
||||
"asp_teorica_offsides": 0.0,
|
||||
"asp_statistica_total_shots": 0.0,
|
||||
"asp_gioco_total_shots": 0.0,
|
||||
"asp_teorica_total_shots": 0.0,
|
||||
"asp_statistica_shots_on_target": 0.0,
|
||||
"asp_gioco_shots_on_target": 0.0,
|
||||
"asp_teorica_shots_on_target": 0.0
|
||||
},
|
||||
{
|
||||
"id": 1201515,
|
||||
"name": "Baltasar Rodriguez",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "MC",
|
||||
"somma_minuti": 250,
|
||||
"asp_statistica_goals": 0.099,
|
||||
"asp_gioco_goals": 0.099,
|
||||
"asp_teorica_goals": 0.099,
|
||||
"asp_statistica_cards": 0.214,
|
||||
"asp_gioco_cards": 0.36,
|
||||
"asp_teorica_cards": 0.3235,
|
||||
"asp_statistica_fouls": 1.353,
|
||||
"asp_gioco_fouls": 3.96,
|
||||
"asp_teorica_fouls": 3.3082499999999997,
|
||||
"asp_statistica_offsides": 0.058,
|
||||
"asp_gioco_offsides": 0.058,
|
||||
"asp_teorica_offsides": 0.058,
|
||||
"asp_statistica_total_shots": 1.201,
|
||||
"asp_gioco_total_shots": 1.8,
|
||||
"asp_teorica_total_shots": 1.6502500000000002,
|
||||
"asp_statistica_shots_on_target": 0.474,
|
||||
"asp_gioco_shots_on_target": 0.474,
|
||||
"asp_teorica_shots_on_target": 0.474
|
||||
},
|
||||
{
|
||||
"id": 1597276,
|
||||
"name": "Valente Pierani",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "DC",
|
||||
"somma_minuti": 150,
|
||||
"asp_statistica_goals": 0.044,
|
||||
"asp_gioco_goals": 0.044,
|
||||
"asp_teorica_goals": 0.044,
|
||||
"asp_statistica_cards": 0.195,
|
||||
"asp_gioco_cards": 0.195,
|
||||
"asp_teorica_cards": 0.195,
|
||||
"asp_statistica_fouls": 0.959,
|
||||
"asp_gioco_fouls": 0.959,
|
||||
"asp_teorica_fouls": 0.959,
|
||||
"asp_statistica_offsides": 0.036,
|
||||
"asp_gioco_offsides": 0.036,
|
||||
"asp_teorica_offsides": 0.036,
|
||||
"asp_statistica_total_shots": 0.525,
|
||||
"asp_gioco_total_shots": 0.525,
|
||||
"asp_teorica_total_shots": 0.525,
|
||||
"asp_statistica_shots_on_target": 0.263,
|
||||
"asp_gioco_shots_on_target": 0.263,
|
||||
"asp_teorica_shots_on_target": 0.263
|
||||
},
|
||||
{
|
||||
"id": 1818780,
|
||||
"name": "Joaquin Pereyra",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "DR",
|
||||
"somma_minuti": 144,
|
||||
"asp_statistica_goals": 0.041,
|
||||
"asp_gioco_goals": 0.041,
|
||||
"asp_teorica_goals": 0.041,
|
||||
"asp_statistica_cards": 0.192,
|
||||
"asp_gioco_cards": 0.192,
|
||||
"asp_teorica_cards": 0.192,
|
||||
"asp_statistica_fouls": 1.097,
|
||||
"asp_gioco_fouls": 1.097,
|
||||
"asp_teorica_fouls": 1.097,
|
||||
"asp_statistica_offsides": 0.063,
|
||||
"asp_gioco_offsides": 0.063,
|
||||
"asp_teorica_offsides": 0.063,
|
||||
"asp_statistica_total_shots": 0.61,
|
||||
"asp_gioco_total_shots": 0.61,
|
||||
"asp_teorica_total_shots": 0.61,
|
||||
"asp_statistica_shots_on_target": 0.271,
|
||||
"asp_gioco_shots_on_target": 0.271,
|
||||
"asp_teorica_shots_on_target": 0.271
|
||||
},
|
||||
{
|
||||
"id": 1836754,
|
||||
"name": "Fabricio Pérez",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 0,
|
||||
"pos": "LW",
|
||||
"somma_minuti": 206,
|
||||
"asp_statistica_goals": 0.233,
|
||||
"asp_gioco_goals": 0.233,
|
||||
"asp_teorica_goals": 0.233,
|
||||
"asp_statistica_cards": 0.155,
|
||||
"asp_gioco_cards": 0.4368932038834951,
|
||||
"asp_teorica_cards": 0.36641990291262133,
|
||||
"asp_statistica_fouls": 1.138,
|
||||
"asp_gioco_fouls": 1.7475728155339805,
|
||||
"asp_teorica_fouls": 1.5951796116504853,
|
||||
"asp_statistica_offsides": 0.314,
|
||||
"asp_gioco_offsides": 0.314,
|
||||
"asp_teorica_offsides": 0.314,
|
||||
"asp_statistica_total_shots": 2.114,
|
||||
"asp_gioco_total_shots": 2.621359223300971,
|
||||
"asp_teorica_total_shots": 2.494519417475728,
|
||||
"asp_statistica_shots_on_target": 0.745,
|
||||
"asp_gioco_shots_on_target": 1.3106796116504855,
|
||||
"asp_teorica_shots_on_target": 1.1692597087378642
|
||||
},
|
||||
{
|
||||
"id": 1836758,
|
||||
"name": "Joaquín Tobio Burgos",
|
||||
"asp_team": 1.397473994819,
|
||||
"asp_team_riferimento": 4.3321693839389,
|
||||
"active": 1,
|
||||
"pos": "LW",
|
||||
"somma_minuti": 447,
|
||||
"asp_statistica_goals": 0.233,
|
||||
"asp_gioco_goals": 0.20134228187919462,
|
||||
"asp_teorica_goals": 0.20925671140939597,
|
||||
"asp_statistica_cards": 0.155,
|
||||
"asp_gioco_cards": 0.155,
|
||||
"asp_teorica_cards": 0.155,
|
||||
"asp_statistica_fouls": 1.138,
|
||||
"asp_gioco_fouls": 0.8053691275167785,
|
||||
"asp_teorica_fouls": 0.8885268456375839,
|
||||
"asp_statistica_offsides": 0.314,
|
||||
"asp_gioco_offsides": 0.40268456375838924,
|
||||
"asp_teorica_offsides": 0.38051342281879197,
|
||||
"asp_statistica_total_shots": 2.114,
|
||||
"asp_gioco_total_shots": 1.4093959731543624,
|
||||
"asp_teorica_total_shots": 1.5855469798657718,
|
||||
"asp_statistica_shots_on_target": 0.745,
|
||||
"asp_gioco_shots_on_target": 1.2080536912751678,
|
||||
"asp_teorica_shots_on_target": 1.0922902684563758
|
||||
}
|
||||
]
|
||||
2026-11-01 06: 10: 05
|
||||
] local.DEBUG: player 1200574 {
|
||||
"ss_player_id": 1200574,
|
||||
"total_events": 26,
|
||||
"total_min": 2167,
|
||||
"average_min": 83.0,
|
||||
"events_played_home": 13,
|
||||
"events_played_away": 13,
|
||||
"minutes_played_home": 1064,
|
||||
"minutes_played_away": 1103,
|
||||
"goals": 11,
|
||||
"fouls": 23,
|
||||
"offsides": 7,
|
||||
"shots_on_target": 28,
|
||||
"shots_off_target": 20,
|
||||
"shots_blocked": 14,
|
||||
"total_shots": 62,
|
||||
"was_fouled": 30,
|
||||
"cards": 2
|
||||
}
|
||||
[
|
||||
2026-11-01 06: 10: 07
|
||||
] local.DEBUG: player 1200574 {
|
||||
"ss_player_id": 1200574,
|
||||
"total_events": 3,
|
||||
"total_min": 35,
|
||||
"average_min": 12.0,
|
||||
"events_played_home": 2,
|
||||
"events_played_away": 1,
|
||||
"minutes_played_home": 17,
|
||||
"minutes_played_away": 18,
|
||||
"goals": 1,
|
||||
"fouls": 0,
|
||||
"offsides": 0,
|
||||
"shots_on_target": 1,
|
||||
"shots_off_target": 0,
|
||||
"shots_blocked": 0,
|
||||
"total_shots": 1,
|
||||
"was_fouled": 1,
|
||||
"cards": 0
|
||||
}
|
||||
Reference in new issue
Block a user