Domestic leagues
Competition | Season | Team | APP / SHO / PAS / DRI / DEF / FOUL / GK | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Appearances | Lineups | Substitute In | Substitute out | Subs on bench | Injuries | Minutes played | Rating | ||||
Premier Soccer League | 2023/2024 | Kaizer Chiefs | 2 | 1 | 1 | 1 | 1 | - | 96 | 7.34 | |
Premier Soccer League | 2022/2023 | Kaizer Chiefs | 25 | 23 | 2 | 15 | 2 | - | 1922 | - | |
Premier Soccer League | 2021/2022 | Kaizer Chiefs | 28 | 26 | 2 | 10 | 2 | - | 2292 | - | |
Ligue 1 | 2020/2021 | Montpellier | 18 | 3 | 15 | 3 | 32 | - | 441 | 6.65 | |
CFA Group C | 2019/2020 | Montpellier II | 3 | 3 | 0 | 1 | - | - | 254 | - | |
Ligue 1 | 2019/2020 | Montpellier | 6 | 1 | 5 | 0 | 9 | - | 143 | 6.75 | |
National 3: Group F | 2018/2019 | Montpellier II | 7 | 7 | 0 | 1 | - | - | 610 | - | |
Ligue 1 | 2018/2019 | Montpellier | 3 | 2 | 1 | 2 | 3 | 1 | 89 | 6.58 | |
National 3: Group G | 2017/2018 | Montpellier II | 2 | 2 | - | - | - | - | - | - | |
Ligue 1 | 2017/2018 | Montpellier | 17 | 9 | 8 | 7 | 20 | - | 881 | 7.04 | |
Premier Soccer League | 2016/2017 | Mamelodi Sundowns | 5 | 3 | 2 | 1 | 3 | - | 315 | - | |
Ligue 1 | 2016/2017 | Montpellier | 12 | 5 | 7 | 5 | 11 | - | 446 | 6.58 | |
Premier Soccer League | 2015/2016 | Mamelodi Sundowns | 12 | 12 | - | - | - | - | - | - | |
Premier Soccer League | 2012/2013 | Cape Town Spurs | 7 | 7 | - | - | 12 | - | - | - |
Domestic cups
Competition | Season | Team | APP / SHO / PAS / DRI / DEF / FOUL / GK | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Appearances | Lineups | Substitute In | Substitute out | Subs on bench | Injuries | Minutes played | Rating | ||||
League Cup | 2023 | Kaizer Chiefs | 1 | 1 | 0 | 2 | - | - | 90 | - | |
Nedbank Cup | 2022/2023 | Kaizer Chiefs | 3 | 3 | 0 | 1 | - | - | 243 | - | |
MTN8 Cup | 2022/2023 | Kaizer Chiefs | 3 | 2 | 1 | 0 | 1 | - | 254 | - | |
Black Label Cup | 2022 | Kaizer Chiefs | 1 | 1 | 0 | 1 | - | - | 75 | - | |
Nedbank Cup | 2021/2022 | Kaizer Chiefs | 1 | 1 | - | - | - | - | 90 | - | |
MTN8 Cup | 2021/2022 | Kaizer Chiefs | 1 | - | 1 | 0 | 1 | - | 61 | - | |
Coupe de France | 2020/2021 | Montpellier | 2 | - | 2 | 1 | 3 | - | 35 | 6.73 | |
Coupe de la Ligue | 2017/2018 | Montpellier | 1 | - | 1 | 0 | 2 | - | 20 | - | |
Coupe de France | 2017/2018 | Montpellier | 2 | - | 2 | 0 | 1 | - | - | - |
International cups
Competition | Season | Team | APP / SHO / PAS / DRI / DEF / FOUL / GK | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Appearances | Lineups | Substitute In | Substitute out | Subs on bench | Injuries | Minutes played | Rating | ||||
CAF Champions League | 2016 | Mamelodi Sundowns | 7 | 7 | - | - | - | - | - | - | |
FIFA Club World Cup | 2016 | Mamelodi Sundowns | 2 | 2 | - | - | - | - | - | - |
National team
Competition | Season | Team | APP / SHO / PAS / DRI / DEF / FOUL / GK | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Appearances | Lineups | Substitute In | Substitute out | Subs on bench | Injuries | Minutes played | Rating | ||||
World Cup Qualification Africa | 2022 | South Africa | 2 | 1 | 1 | 1 | 1 | - | 110 | - | |
Africa Cup of Nations Qualifications | 2021 | South Africa | 2 | 2 | 0 | 1 | - | - | 71 | - | |
World Cup Qualification Africa | 2018 | South Africa | 4 | 4 | 0 | 1 | 2 | - | 336 | - | |
Olympic Games | 2016 | South Africa U23 | 3 | 3 | 0 | 1 | - | - | 263 | - |
Trophies
Competition | Status | Times | Seasons |
---|---|---|---|
National 3: Group F | Winner | 1 | Montpellier II 2018/2019 |
Premier Soccer League | Runner-up | 1 | Mamelodi Sundowns 2016/2017 |
Transfers
From | To | Type | Amount | Date |
---|---|---|---|---|
Montpellier | Kaizer Chiefs | Free transfer | Jul 1, 2021 | |
Mamelodi Sundowns | Montpellier | Transfer | €1.7M | Jan 27, 2017 |
Sidelined
Team | Type | Start date | Returning | Games missed |
---|---|---|---|---|
Kaizer Chiefs | injury | Aug 8, 2023 | Oct 20, 2023 | 11 |
Mamelodi Sundowns | injury | Oct 29, 2016 | Nov 4, 2016 | 2 |
Mamelodi Sundowns | injury | Aug 17, 2016 | Aug 26, 2016 | 1 |