*/ class PlayerFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { $names = [ ['ru' => 'Александр Овечкин', 'en' => 'Alexander Ovechkin'], ['ru' => 'Евгений Малкин', 'en' => 'Evgeni Malkin'], ['ru' => 'Никита Кучеров', 'en' => 'Nikita Kucherov'], ['ru' => 'Артемий Панарин', 'en' => 'Artemi Panarin'], ['ru' => 'Андрей Василевский', 'en' => 'Andrei Vasilevskiy'], ['ru' => 'Илья Ковальчук', 'en' => 'Ilya Kovalchuk'], ['ru' => 'Павел Дацюк', 'en' => 'Pavel Datsyuk'], ['ru' => 'Владимир Тарасенко', 'en' => 'Vladimir Tarasenko'], ['ru' => 'Сергей Бобровский', 'en' => 'Sergei Bobrovsky'], ['ru' => 'Кирилл Капризов', 'en' => 'Kirill Kaprizov'], ['ru' => 'Игорь Шестеркин', 'en' => 'Igor Shesterkin'], ['ru' => 'Илья Сорокин', 'en' => 'Ilya Sorokin'], ['ru' => 'Александр Радулов', 'en' => 'Alexander Radulov'], ['ru' => 'Евгений Кузнецов', 'en' => 'Evgeny Kuznetsov'], ['ru' => 'Дмитрий Орлов', 'en' => 'Dmitry Orlov'], ['ru' => 'Михаил Сергачев', 'en' => 'Mikhail Sergachev'], ['ru' => 'Иван Проворов', 'en' => 'Ivan Provorov'], ['ru' => 'Илья Самсонов', 'en' => 'Ilya Samsonov'], ['ru' => 'Александр Романов', 'en' => 'Alexander Romanov'], ['ru' => 'Андрей Свечников', 'en' => 'Andrei Svechnikov'], ['ru' => 'Евгений Дадонов', 'en' => 'Evgenii Dadonov'], ['ru' => 'Вадим Шипачев', 'en' => 'Vadim Shipachyov'], ['ru' => 'Никита Гусев', 'en' => 'Nikita Gusev'], ['ru' => 'Вячеслав Войнов', 'en' => 'Vyacheslav Voynov'], ['ru' => 'Антон Худобин', 'en' => 'Anton Khudobin'], ['ru' => 'Семен Варламов', 'en' => 'Semyon Varlamov'], ['ru' => 'Валерий Ничушкин', 'en' => 'Valeri Nichushkin'], ['ru' => 'Павел Бучневич', 'en' => 'Pavel Buchnevich'], ['ru' => 'Владислав Гавриков', 'en' => 'Vladislav Gavrikov'], ['ru' => 'Илья Михеев', 'en' => 'Ilya Mikheyev'], ['ru' => 'Денис Гурьянов', 'en' => 'Denis Gurianov'], ['ru' => 'Александр Барабанов', 'en' => 'Alexander Barabanov'], ['ru' => 'Клим Костин', 'en' => 'Klim Kostin'], ['ru' => 'Яков Тренин', 'en' => 'Yakov Trenin'], ['ru' => 'Иван Барбашев', 'en' => 'Ivan Barbashev'], ['ru' => 'Артем Зуб', 'en' => 'Artem Zub'], ['ru' => 'Илья Любушкин', 'en' => 'Ilya Lyubushkin'], ['ru' => 'Александр Георгиев', 'en' => 'Alexandar Georgiev'], ['ru' => 'Петр Кочетков', 'en' => 'Pyotr Kochetkov'], ['ru' => 'Даниил Тарасов', 'en' => 'Daniil Tarasov'], ['ru' => 'Василий Подколзин', 'en' => 'Vasily Podkolzin'], ['ru' => 'Григорий Денисенко', 'en' => 'Grigori Denisenko'], ['ru' => 'Виталий Кравцов', 'en' => 'Vitali Kravtsov'], ['ru' => 'Егор Чинахов', 'en' => 'Yegor Chinakhov'], ['ru' => 'Марат Хуснутдинов', 'en' => 'Marat Khusnutdinov'], ['ru' => 'Шакир Мухамадуллин', 'en' => 'Shakir Mukhamadullin'], ['ru' => 'Александр Алексеев', 'en' => 'Alexander Alexeyev'], ['ru' => 'Даниил Мироманов', 'en' => 'Daniil Miromanov'], ['ru' => 'Дмитрий Воронков', 'en' => 'Dmitri Voronkov'], ['ru' => 'Павел Дорофеев', 'en' => 'Pavel Dorofeyev'], ['ru' => 'Николай Кулемин', 'en' => 'Nikolay Kulemin'], ['ru' => 'Александр Семин', 'en' => 'Alexander Semin'], ['ru' => 'Сергей Федоров', 'en' => 'Sergei Fedorov'], ['ru' => 'Игорь Ларионов', 'en' => 'Igor Larionov'], ['ru' => 'Вячеслав Фетисов', 'en' => 'Viacheslav Fetisov'], ['ru' => 'Павел Буре', 'en' => 'Pavel Bure'], ['ru' => 'Алексей Морозов', 'en' => 'Aleksey Morozov'], ['ru' => 'Данис Зарипов', 'en' => 'Danis Zaripov'], ['ru' => 'Максим Сушинский', 'en' => 'Maxim Sushinsky'], ['ru' => 'Александр Степанов', 'en' => 'Alexander Stepanov'], ['ru' => 'Илья Никулин', 'en' => 'Ilya Nikulin'], ['ru' => 'Алексей Терещенко', 'en' => 'Aleksey Tereshchenko'], ['ru' => 'Сергей Мозякин', 'en' => 'Sergei Mozyakin'], ['ru' => 'Александр Еременко', 'en' => 'Alexander Yeryomenko'], ['ru' => 'Василий Кошечкин', 'en' => 'Vasily Koshechkin'], ['ru' => 'Илья Брызгалов', 'en' => 'Ilya Bryzgalov'], ['ru' => 'Евгений Набоков', 'en' => 'Evgeni Nabokov'], ['ru' => 'Николай Хабибулин', 'en' => 'Nikolai Khabibulin'], ['ru' => 'Алексей Яшин', 'en' => 'Alexei Yashin'], ['ru' => 'Валерий Каменский', 'en' => 'Valeri Kamensky'], ['ru' => 'Алексей Жамнов', 'en' => 'Alexei Zhamnov'], ['ru' => 'Александр Могильный', 'en' => 'Alexander Mogilny'], ['ru' => 'Сергей Макаров', 'en' => 'Sergei Makarov'], ['ru' => 'Владимир Крутов', 'en' => 'Vladimir Krutov'], ['ru' => 'Вячеслав Быков', 'en' => 'Vyacheslav Bykov'], ['ru' => 'Андрей Хомутов', 'en' => 'Andrei Khomutov'], ['ru' => 'Александр Якушев', 'en' => 'Alexander Yakushev'], ['ru' => 'Борис Михайлов', 'en' => 'Boris Mikhailov'], ['ru' => 'Валерий Харламов', 'en' => 'Valeri Kharlamov'], ['ru' => 'Владислав Третьяк', 'en' => 'Vladislav Tretiak'], ['ru' => 'Виктор Тихонов', 'en' => 'Viktor Tikhonov'], ['ru' => 'Всеволод Бобров', 'en' => 'Vsevolod Bobrov'], ['ru' => 'Анатолий Фирсов', 'en' => 'Anatoli Firsov'], ['ru' => 'Владимир Петров', 'en' => 'Vladimir Petrov'], ['ru' => 'Сергей Капустин', 'en' => 'Sergei Kapustin'], ['ru' => 'Виктор Жлуктов', 'en' => 'Viktor Zhluktov'], ['ru' => 'Александр Мальцев', 'en' => 'Alexander Maltsev'], ['ru' => 'Владимир Мышкин', 'en' => 'Vladimir Myshkin'], ['ru' => 'Виктор Коноваленко', 'en' => 'Viktor Konovalenko'], ['ru' => 'Евгений Паладьев', 'en' => 'Yevgeni Paladiev'], ['ru' => 'Юрий Ляпкин', 'en' => 'Yuri Lyapkin'], ['ru' => 'Владимир Шадрин', 'en' => 'Vladimir Shadrin'], ['ru' => 'Александр Гусев', 'en' => 'Alexander Gusev'], ['ru' => 'Валерий Васильев', 'en' => 'Valeri Vasiliev'], ['ru' => 'Геннадий Цыганков', 'en' => 'Gennady Tsygankov'], ['ru' => 'Александр Скворцов', 'en' => 'Alexander Skvortsov'], ['ru' => 'Виктор Тюменев', 'en' => 'Viktor Tyumenev'], ['ru' => 'Сергей Светлов', 'en' => 'Sergei Svetlov'], ['ru' => 'Анатолий Семенов', 'en' => 'Anatoly Semenov'], ['ru' => 'Андрей Ломакин', 'en' => 'Andrei Lomakin'], ]; $name = $names[array_rand($names)]; $club = Club::inRandomOrder()->first(); if (!$club) { throw new Exception('No clubs found in the database. Please seed the clubs table first.'); } $usedNumbers = Player::where('club_id', $club->id)->pluck('squad_number')->toArray(); $availableNumbers = array_diff(range(1, 99), $usedNumbers); if (empty($availableNumbers)) { throw new Exception("No available squad numbers for club ID: {$club->id}."); } $squadNumber = $availableNumbers[array_rand($availableNumbers)]; return [ 'full_name_ru' => $name['ru'], 'full_name_en' => $name['en'], 'weight' => rand(65, 105), 'height' => rand(160, 210), 'squad_number' => $squadNumber, 'club_id' => $club->id, ]; } }