46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Utilities\Notice;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class Sport extends Model
|
|
{
|
|
public static function map($field, $reverse = false, $limit = [])
|
|
{
|
|
if (! in_array($field, ['bapi', 'bwin', 'b365', 'logi', 'magl'])) {
|
|
Notice::note('Sport::map wrong option! Possible options: bapi, bwin, b365, logi, magl', 'r', 1);
|
|
}
|
|
|
|
if ($reverse) {
|
|
if ($limit) {
|
|
return Sport::where('is_active', 1)->whereIn('id', $limit)->pluck('id', $field)->toArray();
|
|
} else {
|
|
return Sport::where('is_active', 1)->pluck('id', $field)->toArray();
|
|
}
|
|
} else {
|
|
if ($limit) {
|
|
return Sport::where('is_active', 1)->whereIn('id', $limit)->pluck($field, 'id')->toArray();
|
|
} else {
|
|
return Sport::where('is_active', 1)->pluck($field, 'id')->toArray();
|
|
}
|
|
}
|
|
}
|
|
|
|
public static function getActiveSports()
|
|
{
|
|
return Sport::query()->where('is_active', 1)->pluck('id')->toArray();
|
|
}
|
|
|
|
public static function getSportForClient()
|
|
{
|
|
$user = User::find(auth()->user()->id);
|
|
|
|
$sports = Client::where('id', $user->client_id)->value('sport');
|
|
|
|
return Sport::query()->whereIn('id', $sports)->pluck('name', 'id');
|
|
|
|
}
|
|
}
|