| Saison | Compétition | Club | MJ. | B | P | J/JR/R | Min. J. | 
|---|---|---|---|---|---|---|---|
| 2025/2026 | Championship |  Queens Park Rangers | 6 | 2 | 0 | 0/0/0 | 176 | 
| 2024/2025 | Championship |  Queens Park Rangers | 43 | 1 | 4 | 6/0/0 | 2778 | 
| 2024/2025 | Carabao Cup |  Queens Park Rangers | 3 | 1 | 0 | 1/0/0 | 206 | 
| 2024/2025 | FA Cup |  Queens Park Rangers | 1 | 0 | 0 | 0/0/0 | 20 | 
| 2024 | Matchs Amicaux équipes |  Queens Park Rangers | 1 | 0 | 0 | 0/0/0 | 73 | 
| 2023/2024 | FA Cup |  Queens Park Rangers | 1 | 0 | 0 | 0/0/0 | 61 | 
| 2023/2024 | Championship |  Queens Park Rangers | 44 | 3 | 1 | 8/0/0 | 2182 | 
| 2022/2023 | FA Cup |  Leyton Orient | 1 | 0 | 0 | 0/0/0 | 32 | 
| 2022/2023 | EFL Trophy |  Leyton Orient | 2 | 0 | 0 | 0/0/0 | 63 | 
| 2022/2023 | Carabao Cup |  Leyton Orient | 1 | 0 | 0 | 0/0/0 | 58 | 
| 2022/2023 | League Two |  Leyton Orient | 38 | 10 | 3 | 8/0/0 | 2851 | 
| 2021/2022 | EFL Trophy |  Leyton Orient | 1 | 1 | 0 | 0/0/0 | 85 | 
| 2021/2022 | FA Cup |  Leyton Orient | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2021/2022 | League Two |  Leyton Orient | 24 | 3 | 1 | 2/0/0 | 1277 | 
| 2021 | Matchs Amicaux équipes |  Leyton Orient | 1 | 0 | 0 | 0/0/0 | 68 | 
| 2020/2021 | League One |  Charlton Athletic | 14 | 1 | 1 | 2/0/0 | 714 | 
| 2020/2021 | League One |  Accrington Stanley | 21 | 3 | 1 | 5/0/0 | 1330 | 
| 2020/2021 | Championship |  Queens Park Rangers | 3 | 0 | 0 | 0/0/0 | 39 | 
| 2020/2021 | Carabao Cup |  Queens Park Rangers | 1 | 0 | 0 | 0/0/0 | 26 | 
| 2019/2020 | EFL Trophy |  Wycombe Wanderers | 1 | 0 | 0 | 1/0/0 | 44 | 
| 2019/2020 | FA Cup |  Wycombe Wanderers | 1 | 0 | 0 | 0/0/0 | 76 | 
| 2019/2020 | League One |  Wycombe Wanderers | 19 | 1 | 0 | 5/0/0 | 1126 | 
| 2018/2019 | Carabao Cup |  Queens Park Rangers | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2018/2019 | EFL Trophy |  Accrington Stanley | 15 | 3 | 2 | 2/0/0 | 937 | 
| 2018/2019 | FA Cup |  Accrington Stanley | 1 | 0 | 0 | 0/0/0 | 11 | 
| 2018/2019 | League One |  Accrington Stanley | 15 | 3 | 2 | 2/0/0 | 170 | 
| 2018/2019 | Championship |  Queens Park Rangers | 2 | 0 | 0 | 0/0/0 | 70 | 
| 2017/2018 | FA Cup |  Queens Park Rangers | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2017/2018 | Championship |  Queens Park Rangers | 13 | 2 | 1 | 1/0/0 | 691 | 
| 2017/2018 | Ligue des Champions |  Linfield | 4 | 0 | 0 | 1/0/0 | 312 | 
| 2017/2018 | NIFL Premiership |  Linfield | 4 | 0 | 0 | 1/0/0 | 344 | 
| 2016/2017 | NIFL Premiership |  Linfield | 27 | 9 | 0 | 5/0/0 | 0 | 
| 2016/2017 | Ligue Europa |  Linfield | 2 | 0 | 0 | 1/0/0 | 162 | 
| 2015/2016 | NIFL Premiership |  Linfield | 15 | 5 | 0 | 2/0/0 | 0 | 
| Total: | 329 | 48 | 16 | 53/0/0 | 16162 | 
| Saison | Compétition | Club | MJ. | B | P | J/JR/R | Min. J. | 
|---|---|---|---|---|---|---|---|
| 2025 | Matchs Amicaux Internationaux |  Irlande du Nord | 4 | 0 | 0 | 1/0/0 | 133 | 
| 2024/2025 | UEFA Ligue des nations |  Irlande du Nord | 6 | 0 | 1 | 0/0/0 | 124 | 
| 2024 | Euro Qualification |  Irlande du Nord | 0 | 0 | 0 | 0/0/0 | 0 | 
| 2024 | Matchs Amicaux Internationaux |  Irlande du Nord | 2 | 0 | 0 | 0/0/0 | 67 | 
| 2019 | Euro U21 |  Irlande du Nord U21 | 9 | 0 | 0 | 4/0/0 | 692 | 
| 2017 | Euro U21 |  Irlande du Nord U21 | 3 | 1 | 0 | 1/0/0 | 214 | 
| Total: | 24 | 1 | 1 | 6/0/0 | 1230 | 
| De | À | Date | Montant | 
|---|---|---|---|
|  Leyton Orient |  Queens Park Rangers | 27/06/2023 | Gratuit | 
|  Queens Park Rangers |  Leyton Orient | 01/07/2021 | Gratuit | 
|  Queens Park Rangers |  Accrington Stanley | 28/01/2021 | Prêt | 
|  Queens Park Rangers |  Charlton Athletic | 16/10/2020 | Prêt | 
|  Wycombe Wanderers |  Queens Park Rangers | 01/08/2020 | N/a | 
|  Queens Park Rangers |  Wycombe Wanderers | 01/07/2019 | Prêt | 
|  Queens Park Rangers |  Accrington Stanley | 25/01/2019 | Prêt | 
|  Linfield |  Queens Park Rangers | 29/08/2017 | N/a |