@@ -135,37 +135,37 @@ public static function provideQueryBuilderToMql(): iterable
135
135
'find ' => [
136
136
[
137
137
'$or ' => [
138
- ['id ' => 1 ],
139
- ['id ' => ['$in ' => [1 , 2 , 3 ]]],
138
+ ['foo ' => 1 ],
139
+ ['foo ' => ['$in ' => [1 , 2 , 3 ]]],
140
140
],
141
141
],
142
142
[], // options
143
143
],
144
144
],
145
- fn (Builder $ builder ) => $ builder ->where ('id ' , '= ' , 1 )
146
- ->orWhereIn ('id ' , [1 , 2 , 3 ]),
145
+ fn (Builder $ builder ) => $ builder ->where ('foo ' , '= ' , 1 )
146
+ ->orWhereIn ('foo ' , [1 , 2 , 3 ]),
147
147
];
148
148
149
149
/** @see DatabaseQueryBuilderTest::testBasicWhereNotIns */
150
150
yield 'whereNotIn ' => [
151
- ['find ' => [['id ' => ['$nin ' => [1 , 2 , 3 ]]], []]],
152
- fn (Builder $ builder ) => $ builder ->whereNotIn ('id ' , [1 , 2 , 3 ]),
151
+ ['find ' => [['foo ' => ['$nin ' => [1 , 2 , 3 ]]], []]],
152
+ fn (Builder $ builder ) => $ builder ->whereNotIn ('foo ' , [1 , 2 , 3 ]),
153
153
];
154
154
155
155
yield 'orWhereNotIn ' => [
156
156
[
157
157
'find ' => [
158
158
[
159
159
'$or ' => [
160
- ['id ' => 1 ],
161
- ['id ' => ['$nin ' => [1 , 2 , 3 ]]],
160
+ ['foo ' => 1 ],
161
+ ['foo ' => ['$nin ' => [1 , 2 , 3 ]]],
162
162
],
163
163
],
164
164
[], // options
165
165
],
166
166
],
167
- fn (Builder $ builder ) => $ builder ->where ('id ' , '= ' , 1 )
168
- ->orWhereNotIn ('id ' , [1 , 2 , 3 ]),
167
+ fn (Builder $ builder ) => $ builder ->where ('foo ' , '= ' , 1 )
168
+ ->orWhereNotIn ('foo ' , [1 , 2 , 3 ]),
169
169
];
170
170
171
171
/** @see DatabaseQueryBuilderTest::testEmptyWhereIns */
@@ -220,15 +220,15 @@ public static function provideQueryBuilderToMql(): iterable
220
220
'find ' => [
221
221
[
222
222
'$or ' => [
223
- ['id ' => 1 ],
223
+ ['age ' => 1 ],
224
224
['email ' => 'foo ' ],
225
225
],
226
226
],
227
227
[], // options
228
228
],
229
229
],
230
230
fn (Builder $ builder ) => $ builder
231
- ->where ('id ' , '= ' , 1 )
231
+ ->where ('age ' , '= ' , 1 )
232
232
->orWhere ('email ' , '= ' , 'foo ' ),
233
233
];
234
234
@@ -589,16 +589,16 @@ function (Builder $builder) {
589
589
'find ' => [
590
590
[
591
591
'$or ' => [
592
- ['id ' => 1 ],
593
- ['id ' => ['$gte ' => 3 , '$lte ' => 5 ]],
592
+ ['age ' => 1 ],
593
+ ['age ' => ['$gte ' => 3 , '$lte ' => 5 ]],
594
594
],
595
595
],
596
596
[], // options
597
597
],
598
598
],
599
599
fn (Builder $ builder ) => $ builder
600
- ->where ('id ' , '= ' , 1 )
601
- ->orWhereBetween ('id ' , [3 , 5 ]),
600
+ ->where ('age ' , '= ' , 1 )
601
+ ->orWhereBetween ('age ' , [3 , 5 ]),
602
602
];
603
603
604
604
/** @link https://www.mongodb.com/docs/manual/reference/bson-type-comparison-order/#arrays */
@@ -607,48 +607,48 @@ function (Builder $builder) {
607
607
'find ' => [
608
608
[
609
609
'$or ' => [
610
- ['id ' => 1 ],
611
- ['id ' => ['$gte ' => [4 ], '$lte ' => [6 , 8 ]]],
610
+ ['age ' => 1 ],
611
+ ['age ' => ['$gte ' => [4 ], '$lte ' => [6 , 8 ]]],
612
612
],
613
613
],
614
614
[], // options
615
615
],
616
616
],
617
617
fn (Builder $ builder ) => $ builder
618
- ->where ('id ' , '= ' , 1 )
619
- ->orWhereBetween ('id ' , [[4 ], [6 , 8 ]]),
618
+ ->where ('age ' , '= ' , 1 )
619
+ ->orWhereBetween ('age ' , [[4 ], [6 , 8 ]]),
620
620
];
621
621
622
622
yield 'orWhereBetween collection ' => [
623
623
[
624
624
'find ' => [
625
625
[
626
626
'$or ' => [
627
- ['id ' => 1 ],
628
- ['id ' => ['$gte ' => 3 , '$lte ' => 4 ]],
627
+ ['age ' => 1 ],
628
+ ['age ' => ['$gte ' => 3 , '$lte ' => 4 ]],
629
629
],
630
630
],
631
631
[], // options
632
632
],
633
633
],
634
634
fn (Builder $ builder ) => $ builder
635
- ->where ('id ' , '= ' , 1 )
636
- ->orWhereBetween ('id ' , collect ([3 , 4 ])),
635
+ ->where ('age ' , '= ' , 1 )
636
+ ->orWhereBetween ('age ' , collect ([3 , 4 ])),
637
637
];
638
638
639
639
yield 'whereNotBetween array of numbers ' => [
640
640
[
641
641
'find ' => [
642
642
[
643
643
'$or ' => [
644
- ['id ' => ['$lte ' => 1 ]],
645
- ['id ' => ['$gte ' => 2 ]],
644
+ ['age ' => ['$lte ' => 1 ]],
645
+ ['age ' => ['$gte ' => 2 ]],
646
646
],
647
647
],
648
648
[], // options
649
649
],
650
650
],
651
- fn (Builder $ builder ) => $ builder ->whereNotBetween ('id ' , [1 , 2 ]),
651
+ fn (Builder $ builder ) => $ builder ->whereNotBetween ('age ' , [1 , 2 ]),
652
652
];
653
653
654
654
/** @see DatabaseQueryBuilderTest::testOrWhereNotBetween() */
@@ -657,11 +657,11 @@ function (Builder $builder) {
657
657
'find ' => [
658
658
[
659
659
'$or ' => [
660
- ['id ' => 1 ],
660
+ ['age ' => 1 ],
661
661
[
662
662
'$or ' => [
663
- ['id ' => ['$lte ' => 3 ]],
664
- ['id ' => ['$gte ' => 5 ]],
663
+ ['age ' => ['$lte ' => 3 ]],
664
+ ['age ' => ['$gte ' => 5 ]],
665
665
],
666
666
],
667
667
],
@@ -670,20 +670,20 @@ function (Builder $builder) {
670
670
],
671
671
],
672
672
fn (Builder $ builder ) => $ builder
673
- ->where ('id ' , '= ' , 1 )
674
- ->orWhereNotBetween ('id ' , [3 , 5 ]),
673
+ ->where ('age ' , '= ' , 1 )
674
+ ->orWhereNotBetween ('age ' , [3 , 5 ]),
675
675
];
676
676
677
677
yield 'orWhereNotBetween nested array of numbers ' => [
678
678
[
679
679
'find ' => [
680
680
[
681
681
'$or ' => [
682
- ['id ' => 1 ],
682
+ ['age ' => 1 ],
683
683
[
684
684
'$or ' => [
685
- ['id ' => ['$lte ' => [2 , 3 ]]],
686
- ['id ' => ['$gte ' => [5 ]]],
685
+ ['age ' => ['$lte ' => [2 , 3 ]]],
686
+ ['age ' => ['$gte ' => [5 ]]],
687
687
],
688
688
],
689
689
],
@@ -692,20 +692,20 @@ function (Builder $builder) {
692
692
],
693
693
],
694
694
fn (Builder $ builder ) => $ builder
695
- ->where ('id ' , '= ' , 1 )
696
- ->orWhereNotBetween ('id ' , [[2 , 3 ], [5 ]]),
695
+ ->where ('age ' , '= ' , 1 )
696
+ ->orWhereNotBetween ('age ' , [[2 , 3 ], [5 ]]),
697
697
];
698
698
699
699
yield 'orWhereNotBetween collection ' => [
700
700
[
701
701
'find ' => [
702
702
[
703
703
'$or ' => [
704
- ['id ' => 1 ],
704
+ ['age ' => 1 ],
705
705
[
706
706
'$or ' => [
707
- ['id ' => ['$lte ' => 3 ]],
708
- ['id ' => ['$gte ' => 4 ]],
707
+ ['age ' => ['$lte ' => 3 ]],
708
+ ['age ' => ['$gte ' => 4 ]],
709
709
],
710
710
],
711
711
],
@@ -714,8 +714,8 @@ function (Builder $builder) {
714
714
],
715
715
],
716
716
fn (Builder $ builder ) => $ builder
717
- ->where ('id ' , '= ' , 1 )
718
- ->orWhereNotBetween ('id ' , collect ([3 , 4 ])),
717
+ ->where ('age ' , '= ' , 1 )
718
+ ->orWhereNotBetween ('age ' , collect ([3 , 4 ])),
719
719
];
720
720
721
721
yield 'where like ' => [
@@ -1160,6 +1160,16 @@ function (Builder $elemMatchQuery): void {
1160
1160
),
1161
1161
];
1162
1162
1163
+ yield 'id alias for _id ' => [
1164
+ ['find ' => [['_id ' => 1 ], []]],
1165
+ fn (Builder $ builder ) => $ builder ->where ('id ' , 1 ),
1166
+ ];
1167
+
1168
+ yield 'id alias for _id with $or ' => [
1169
+ ['find ' => [['$or ' => [['_id ' => 1 ], ['_id ' => 2 ]]], []]],
1170
+ fn (Builder $ builder ) => $ builder ->where ('id ' , 1 )->orWhere ('id ' , 2 ),
1171
+ ];
1172
+
1163
1173
// Method added in Laravel v10.47.0
1164
1174
if (method_exists (Builder::class, 'whereAll ' )) {
1165
1175
/** @see DatabaseQueryBuilderTest::testWhereAll */
0 commit comments