Skip to content

Commit 9e5c7d8

Browse files
committed
Allow get() on embedded collections
1 parent 14db4cb commit 9e5c7d8

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

src/Jenssegers/Mongodb/Eloquent/Collection.php

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,24 @@
55
class Collection extends BaseCollection {
66

77
/**
8-
* Simulate a basic where clause on the ollection.
8+
* Simulate a get clause on the collection.
9+
*
10+
* @param mixed $key
11+
* @param mixed $default
12+
* @return mixed
13+
*/
14+
public function get($key = null, $default = null)
15+
{
16+
if (is_null($key) and is_null($default))
17+
{
18+
return $this;
19+
}
20+
21+
return parent::get($key, $default);
22+
}
23+
24+
/**
25+
* Simulate a basic where clause on the collection.
926
*
1027
* @param string $key
1128
* @param string $operator
@@ -59,7 +76,7 @@ public function where($key, $operator = null, $value = null)
5976
}
6077

6178
/**
62-
* Simulate order by.
79+
* Simulate order by clause on the collection.
6380
*
6481
* @param string $key
6582
* @param string $direction

tests/EmbeddedRelationsTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,10 @@ public function testEmbedsManyCollectionMethods()
429429
$this->assertEquals(array(), $user->addresses()->where('city', 'New York')->lists('city'));
430430
$this->assertEquals(array('Bruges', 'Brussels', 'Ghent'), $user->addresses()->where('country', 'Belgium')->lists('city'));
431431
$this->assertEquals(array('Ghent', 'Brussels', 'Bruges'), $user->addresses()->where('country', 'Belgium')->orderBy('city', 'desc')->lists('city'));
432+
433+
$results = $user->addresses()->where('country', 'Belgium')->get();
434+
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Collection', $results);
435+
$this->assertEquals(3, $results->count());
432436
}
433437

434438
public function testEmbedsOne()

0 commit comments

Comments
 (0)