@@ -530,7 +530,15 @@ export class AccessTokenModel {
530
530
}
531
531
532
532
has ( relation : string ) : AccessTokenModel {
533
- return AccessTokenModel . has ( relation )
533
+ this . selectFromQuery = this . selectFromQuery . where ( ( { exists, selectFrom } : any ) =>
534
+ exists (
535
+ selectFrom ( relation )
536
+ . select ( '1' )
537
+ . whereRef ( `${ relation } .accesstoken_id` , '=' , 'personal_access_tokens.id' ) ,
538
+ ) ,
539
+ )
540
+
541
+ return this
534
542
}
535
543
536
544
static has ( relation : string ) : AccessTokenModel {
@@ -557,24 +565,16 @@ export class AccessTokenModel {
557
565
return instance
558
566
}
559
567
560
- whereHas (
568
+ applyWhereHas (
561
569
relation : string ,
562
570
callback : ( query : SubqueryBuilder ) => void ,
563
571
) : AccessTokenModel {
564
- return AccessTokenModel . whereHas ( relation , callback )
565
- }
566
-
567
- static whereHas (
568
- relation : string ,
569
- callback : ( query : SubqueryBuilder ) => void ,
570
- ) : AccessTokenModel {
571
- const instance = new AccessTokenModel ( null )
572
572
const subqueryBuilder = new SubqueryBuilder ( )
573
573
574
574
callback ( subqueryBuilder )
575
575
const conditions = subqueryBuilder . getConditions ( )
576
576
577
- instance . selectFromQuery = instance . selectFromQuery
577
+ this . selectFromQuery = this . selectFromQuery
578
578
. where ( ( { exists, selectFrom } : any ) => {
579
579
let subquery = selectFrom ( relation )
580
580
. select ( '1' )
@@ -624,7 +624,23 @@ export class AccessTokenModel {
624
624
return exists ( subquery )
625
625
} )
626
626
627
- return instance
627
+ return this
628
+ }
629
+
630
+ whereHas (
631
+ relation : string ,
632
+ callback : ( query : SubqueryBuilder ) => void ,
633
+ ) : AccessTokenModel {
634
+ return this . applyWhereHas ( relation , callback )
635
+ }
636
+
637
+ static whereHas (
638
+ relation : string ,
639
+ callback : ( query : SubqueryBuilder ) => void ,
640
+ ) : AccessTokenModel {
641
+ const instance = new AccessTokenModel ( null )
642
+
643
+ return instance . applyWhereHas ( relation , callback )
628
644
}
629
645
630
646
applyDoesntHave ( relation : string ) : AccessTokenModel {
0 commit comments