Commit 9e5c7d85 authored by Jens Segers's avatar Jens Segers

Allow get() on embedded collections

parent 14db4cbb
...@@ -5,7 +5,24 @@ use Illuminate\Database\Eloquent\Collection as BaseCollection; ...@@ -5,7 +5,24 @@ use Illuminate\Database\Eloquent\Collection as BaseCollection;
class Collection extends BaseCollection { class Collection extends BaseCollection {
/** /**
* Simulate a basic where clause on the ollection. * Simulate a get clause on the collection.
*
* @param mixed $key
* @param mixed $default
* @return mixed
*/
public function get($key = null, $default = null)
{
if (is_null($key) and is_null($default))
{
return $this;
}
return parent::get($key, $default);
}
/**
* Simulate a basic where clause on the collection.
* *
* @param string $key * @param string $key
* @param string $operator * @param string $operator
...@@ -59,7 +76,7 @@ class Collection extends BaseCollection { ...@@ -59,7 +76,7 @@ class Collection extends BaseCollection {
} }
/** /**
* Simulate order by. * Simulate order by clause on the collection.
* *
* @param string $key * @param string $key
* @param string $direction * @param string $direction
......
...@@ -429,6 +429,10 @@ class EmbeddedRelationsTest extends TestCase { ...@@ -429,6 +429,10 @@ class EmbeddedRelationsTest extends TestCase {
$this->assertEquals(array(), $user->addresses()->where('city', 'New York')->lists('city')); $this->assertEquals(array(), $user->addresses()->where('city', 'New York')->lists('city'));
$this->assertEquals(array('Bruges', 'Brussels', 'Ghent'), $user->addresses()->where('country', 'Belgium')->lists('city')); $this->assertEquals(array('Bruges', 'Brussels', 'Ghent'), $user->addresses()->where('country', 'Belgium')->lists('city'));
$this->assertEquals(array('Ghent', 'Brussels', 'Bruges'), $user->addresses()->where('country', 'Belgium')->orderBy('city', 'desc')->lists('city')); $this->assertEquals(array('Ghent', 'Brussels', 'Bruges'), $user->addresses()->where('country', 'Belgium')->orderBy('city', 'desc')->lists('city'));
$results = $user->addresses()->where('country', 'Belgium')->get();
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Collection', $results);
$this->assertEquals(3, $results->count());
} }
public function testEmbedsOne() public function testEmbedsOne()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment