Career as a player
| Period | Team | Country | Position | # | |
|---|---|---|---|---|---|
| 07/2024 - 01/2026 | ![]() | Galway United | Defence | 8 | |
| 07/2021 - 06/2024 | ![]() | Preston North End | Defence | 3 | |
| 01/2021 - 06/2021 | ![]() | Preston North End | Defence | 37 | |
| 01/2020 - 01/2021 | ![]() | Cardiff City | Defence | 18 | |
| 08/2019 - 01/2020 | ![]() | Blackburn Rovers | Defence | 5 | |
| 07/2018 - 08/2019 | ![]() | Cardiff City | Defence | 18 | |
| 07/2015 - 06/2018 | ![]() | Preston North End | Defence | 3 | |
| 07/2012 - 07/2015 | ![]() | Bristol City | Defence | 17 | |
| 10/2011 - 06/2012 | ![]() | Nottingham Forest | Defence | 3 | |
| 01/2011 - 10/2011 | ![]() | Manchester City | Defence | 22 | |
| 10/2010 - 01/2011 | ![]() | Leicester City | Defence | 32 | |
| 07/2010 - 10/2010 | ![]() | Manchester City | Defence | 22 | |
| 01/2010 - 06/2010 | ![]() | Manchester City | Defence | 45 | |
| 07/2009 - 06/2010 | ![]() | Manchester City (R) | Defence |
Club matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Europa League Qual. | 1 | - | 1 | - | 27 | - | - | - | - | - | - | » All matches |
| Premier League | 9 | 7 | 2 | - | 633 | - | - | - | 3 | - | - | » All matches | |
| Championship | 252 | 235 | 17 | 33 | 20.735 | 7 | - | 15 | 50 | 1 | - | » All matches | |
| FA Cup | 14 | 11 | 3 | 2 | 1.046 | 1 | - | 1 | 2 | - | - | » All matches | |
| League Cup | 18 | 17 | 1 | 3 | 1.536 | - | - | 2 | 3 | - | - | » All matches | |
| League One | 61 | 41 | 20 | 12 | 3.871 | 3 | 1 | 1 | 6 | - | - | » All matches | |
| EFL Trophy | 6 | 4 | 2 | 1 | 367 | - | - | - | 1 | - | - | » All matches | |
| Premier Division | 31 | 29 | 2 | 9 | 2.388 | - | - | - | 14 | - | - | » All matches | |
| FAI Cup | 2 | 2 | - | - | 210 | - | - | - | - | - | - | » All matches | |
| Total | 394 | 346 | 48 | 60 | 30.813 | 11 | 1 | - | 79 | 1 | - |
International matches
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | Friendlies | 4 | 3 | 1 | - | 304 | - | - | - | 1 | - | - | » All matches |
| Total | 4 | 3 | 1 | - | 304 | - | - | - | 1 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U21 EURO Qualifiers | 5 | 5 | - | 1 | 429 | 1 | - | - | 2 | - | - | » All matches |
| Total | 5 | 5 | - | 1 | 429 | 1 | - | - | 2 | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U19 Friendlies | 1 | 1 | - | - | 90 | - | - | - | - | - | - | » All matches |
| Total | 1 | 1 | - | - | 90 | - | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U17 EURO | 3 | 3 | - | 2 | 248 | - | - | - | - | - | - | » All matches |
![]() | U17 EURO Qualifiers | 1 | 1 | - | - | 90 | 1 | - | - | - | - | - | » All matches |
| Total | 4 | 4 | - | 2 | 338 | 1 | - | - | - | - | - | ||
| Competition | Matches | Start | In | Out | Min. | Scores | 11m | Ass | Yellow | Yellow-Red | Red | ||
![]() | U16 Friendlies | 2 | 1 | 1 | 1 | 100 | - | - | - | - | - | - | » All matches |
| Total | 2 | 1 | 1 | 1 | 100 | - | - | - | - | - | - |











