Skip to content

Commit 9df6d1e

Browse files
authored
Merge pull request #1661 from Zuken/fix_where_in
Replaced whereIn method retrieval for relations
2 parents b69ef21 + 4c1ce51 commit 9df6d1e

File tree

8 files changed

+104
-0
lines changed

8 files changed

+104
-0
lines changed

Diff for: src/Jenssegers/Mongodb/Relations/BelongsTo.php

+13
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Jenssegers\Mongodb\Relations;
44

55
use Illuminate\Database\Eloquent\Builder;
6+
use Illuminate\Database\Eloquent\Model as EloquentModel;
67

78
class BelongsTo extends \Illuminate\Database\Eloquent\Relations\BelongsTo
89
{
@@ -59,4 +60,16 @@ public function getOwnerKey()
5960
{
6061
return property_exists($this, 'ownerKey') ? $this->ownerKey : $this->otherKey;
6162
}
63+
64+
/**
65+
* Get the name of the "where in" method for eager loading.
66+
*
67+
* @param \Illuminate\Database\Eloquent\Model $model
68+
* @param string $key
69+
* @return string
70+
*/
71+
protected function whereInMethod(EloquentModel $model, $key)
72+
{
73+
return 'whereIn';
74+
}
6275
}

Diff for: src/Jenssegers/Mongodb/Relations/BelongsToMany.php

+13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Database\Eloquent\Model;
88
use Illuminate\Database\Eloquent\Relations\BelongsToMany as EloquentBelongsToMany;
99
use Illuminate\Support\Arr;
10+
use Illuminate\Database\Eloquent\Model as EloquentModel;
1011

1112
class BelongsToMany extends EloquentBelongsToMany
1213
{
@@ -337,4 +338,16 @@ public function getRelatedKey()
337338
{
338339
return property_exists($this, 'relatedPivotKey') ? $this->relatedPivotKey : $this->relatedKey;
339340
}
341+
342+
/**
343+
* Get the name of the "where in" method for eager loading.
344+
*
345+
* @param \Illuminate\Database\Eloquent\Model $model
346+
* @param string $key
347+
* @return string
348+
*/
349+
protected function whereInMethod(EloquentModel $model, $key)
350+
{
351+
return 'whereIn';
352+
}
340353
}

Diff for: src/Jenssegers/Mongodb/Relations/EmbedsMany.php

+13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Pagination\LengthAwarePaginator;
88
use Illuminate\Pagination\Paginator;
99
use MongoDB\BSON\ObjectID;
10+
use Illuminate\Database\Eloquent\Model as EloquentModel;
1011

1112
class EmbedsMany extends EmbedsOneOrMany
1213
{
@@ -328,4 +329,16 @@ public function __call($method, $parameters)
328329

329330
return parent::__call($method, $parameters);
330331
}
332+
333+
/**
334+
* Get the name of the "where in" method for eager loading.
335+
*
336+
* @param \Illuminate\Database\Eloquent\Model $model
337+
* @param string $key
338+
* @return string
339+
*/
340+
protected function whereInMethod(EloquentModel $model, $key)
341+
{
342+
return 'whereIn';
343+
}
331344
}

Diff for: src/Jenssegers/Mongodb/Relations/EmbedsOne.php

+13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Database\Eloquent\Model;
66
use MongoDB\BSON\ObjectID;
7+
use Illuminate\Database\Eloquent\Model as EloquentModel;
78

89
class EmbedsOne extends EmbedsOneOrMany
910
{
@@ -136,4 +137,16 @@ public function delete()
136137
{
137138
return $this->performDelete();
138139
}
140+
141+
/**
142+
* Get the name of the "where in" method for eager loading.
143+
*
144+
* @param \Illuminate\Database\Eloquent\Model $model
145+
* @param string $key
146+
* @return string
147+
*/
148+
protected function whereInMethod(EloquentModel $model, $key)
149+
{
150+
return 'whereIn';
151+
}
139152
}

Diff for: src/Jenssegers/Mongodb/Relations/EmbedsOneOrMany.php

+13
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Illuminate\Database\Eloquent\Collection;
77
use Illuminate\Database\Eloquent\Relations\Relation;
88
use Jenssegers\Mongodb\Eloquent\Model;
9+
use Illuminate\Database\Eloquent\Model as EloquentModel;
910

1011
abstract class EmbedsOneOrMany extends Relation
1112
{
@@ -403,4 +404,16 @@ public function getQualifiedForeignKeyName()
403404
{
404405
return $this->foreignKey;
405406
}
407+
408+
/**
409+
* Get the name of the "where in" method for eager loading.
410+
*
411+
* @param \Illuminate\Database\Eloquent\Model $model
412+
* @param string $key
413+
* @return string
414+
*/
415+
protected function whereInMethod(EloquentModel $model, $key)
416+
{
417+
return 'whereIn';
418+
}
406419
}

Diff for: src/Jenssegers/Mongodb/Relations/HasMany.php

+13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Database\Eloquent\Builder;
66
use Illuminate\Database\Eloquent\Relations\HasMany as EloquentHasMany;
7+
use Illuminate\Database\Eloquent\Model as EloquentModel;
78

89
class HasMany extends EloquentHasMany
910
{
@@ -77,4 +78,16 @@ public function getRelationQuery(Builder $query, Builder $parent, $columns = ['*
7778

7879
return $query->where($this->getHasCompareKey(), 'exists', true);
7980
}
81+
82+
/**
83+
* Get the name of the "where in" method for eager loading.
84+
*
85+
* @param \Illuminate\Database\Eloquent\Model $model
86+
* @param string $key
87+
* @return string
88+
*/
89+
protected function whereInMethod(EloquentModel $model, $key)
90+
{
91+
return 'whereIn';
92+
}
8093
}

Diff for: src/Jenssegers/Mongodb/Relations/HasOne.php

+13
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Database\Eloquent\Builder;
66
use Illuminate\Database\Eloquent\Relations\HasOne as EloquentHasOne;
7+
use Illuminate\Database\Eloquent\Model as EloquentModel;
78

89
class HasOne extends EloquentHasOne
910
{
@@ -77,4 +78,16 @@ public function getRelationQuery(Builder $query, Builder $parent, $columns = ['*
7778

7879
return $query->where($this->getForeignKeyName(), 'exists', true);
7980
}
81+
82+
/**
83+
* Get the name of the "where in" method for eager loading.
84+
*
85+
* @param \Illuminate\Database\Eloquent\Model $model
86+
* @param string $key
87+
* @return string
88+
*/
89+
protected function whereInMethod(EloquentModel $model, $key)
90+
{
91+
return 'whereIn';
92+
}
8093
}

Diff for: src/Jenssegers/Mongodb/Relations/MorphTo.php

+13
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Jenssegers\Mongodb\Relations;
44

55
use Illuminate\Database\Eloquent\Relations\MorphTo as EloquentMorphTo;
6+
use Illuminate\Database\Eloquent\Model as EloquentModel;
67

78
class MorphTo extends EloquentMorphTo
89
{
@@ -42,4 +43,16 @@ public function getOwnerKey()
4243
{
4344
return property_exists($this, 'ownerKey') ? $this->ownerKey : $this->otherKey;
4445
}
46+
47+
/**
48+
* Get the name of the "where in" method for eager loading.
49+
*
50+
* @param \Illuminate\Database\Eloquent\Model $model
51+
* @param string $key
52+
* @return string
53+
*/
54+
protected function whereInMethod(EloquentModel $model, $key)
55+
{
56+
return 'whereIn';
57+
}
4558
}

0 commit comments

Comments
 (0)