Round-Robin is an easy way to create schedule with round-robin(rr) technique. I used the mnito's base code for this. Look here: https://github.com/mnito/round-robin
- In order to install Laravel Round-Robin, just add the following to your composer.json. Then run
composer update:
"marcelotk15/round-robin": "0.1.*"or run composer require marcelotk15/round-robin
- Open your
config/app.phpand add the following to theprovidersarray:
Laravel\RoundRobin\RoundRobinServiceProvider::class,- Open your
config/app.phpand add the following to thefacadesarray:
'RoundRobin' => Laravel\RoundRobin\RoundRobinFacade::class,use Laravel\RoundRobin\RoundRobin;Setuping (without Facade):
$teams = ['Arsenal', 'Atlético de Madrid', 'Borussia', 'Barcelona','Liverpool', 'Bayer 04', 'Real Madrid'];
$schedule = new RoundRobin($teams)->make();
// or with 'from' static method
$schedule = RoundRobin::from($teams)->make();With a facade:
$teams = ['Arsenal', 'Atlético de Madrid', 'Borussia', 'Barcelona','Liverpool', 'Bayer 04', 'Real Madrid'];
$schedule = RoundRobin::from($teams)->make();Generate a schedule without randomly shuffling the teams using the $shuffle boolean parameter:
$teams = ['Arsenal', 'Atlético de Madrid', 'Borussia', 'Barcelona','Liverpool', 'Bayer 04', 'Real Madrid'];
$schedule = RoundRobin::from($teams)->doNotShuffle()->make();Use your own seed with the $seed integer parameter for predetermined shuffling:
$teams = ['Arsenal', 'Atlético de Madrid', 'Borussia', 'Barcelona','Liverpool', 'Bayer 04', 'Real Madrid'];
$schedule = RoundRobin::from($teams)->shuffle(15)->make();If you want a double Round-robin:
$teams = ['Arsenal', 'Atlético de Madrid', 'Borussia', 'Barcelona','Liverpool', 'Bayer 04', 'Real Madrid'];
$schedule = RoundRobin::from($teams)->doubleRoundRobin()->make();If you want a get a Schedule Object:
$teams = ['Arsenal', 'Atlético de Madrid', 'Borussia', 'Barcelona','Liverpool', 'Bayer 04', 'Real Madrid'];
$schedule = RoundRobin::from($teams)->makeSchedule();Laravel Round-Robin is free software distributed under the terms of the MIT license.