Skip to content

Commit 1ae29d9

Browse files
committed
move methods... remove tests that already have integration tests
1 parent 8f52295 commit 1ae29d9

File tree

4 files changed

+32
-55
lines changed

4 files changed

+32
-55
lines changed

src/Illuminate/Database/Eloquent/Builder.php

+31
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,37 @@ public function orWhere($column, $operator = null, $value = null)
230230
return $this->where($column, $operator, $value, 'or');
231231
}
232232

233+
/**
234+
* Create a collection of models from plain arrays.
235+
*
236+
* @param array $items
237+
* @return \Illuminate\Database\Eloquent\Collection
238+
*/
239+
public function hydrate(array $items)
240+
{
241+
$instance = $this->model->newInstance();
242+
243+
return $instance->newCollection(array_map(function ($item) use ($instance) {
244+
return $instance->newFromBuilder($item);
245+
}, $items));
246+
}
247+
248+
/**
249+
* Create a collection of models from a raw query.
250+
*
251+
* @param string $query
252+
* @param array $bindings
253+
* @return \Illuminate\Database\Eloquent\Collection
254+
*/
255+
public function fromQuery($query, $bindings = [])
256+
{
257+
$instance = $this->model->newInstance();
258+
259+
return $this->hydrate(
260+
$instance->getConnection()->select($query, $bindings)
261+
);
262+
}
263+
233264
/**
234265
* Find a model by its primary key.
235266
*

src/Illuminate/Database/Eloquent/Model.php

-31
Original file line numberDiff line numberDiff line change
@@ -324,37 +324,6 @@ public static function onWriteConnection()
324324
return $instance->newQuery()->useWritePdo();
325325
}
326326

327-
/**
328-
* Create a collection of models from plain arrays.
329-
*
330-
* @param array $items
331-
* @param string|null $connection
332-
* @return \Illuminate\Database\Eloquent\Collection
333-
*/
334-
public static function hydrate(array $items, $connection = null)
335-
{
336-
$instance = (new static)->setConnection($connection);
337-
338-
return $instance->newCollection(array_map(function ($item) use ($instance) {
339-
return $instance->newFromBuilder($item);
340-
}, $items));
341-
}
342-
343-
/**
344-
* Create a collection of models from a raw query.
345-
*
346-
* @param string $query
347-
* @param array $bindings
348-
* @param string|null $connection
349-
* @return \Illuminate\Database\Eloquent\Collection
350-
*/
351-
public static function fromQuery($query, $bindings = [], $connection = null)
352-
{
353-
$instance = (new static)->setConnection($connection);
354-
355-
return static::hydrate($instance->getConnection()->select($query, $bindings), $connection);
356-
}
357-
358327
/**
359328
* Get all of the models from the database.
360329
*

tests/Database/DatabaseEloquentIntegrationTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ public function testBasicModelHydration()
461461
$user->setConnection('second_connection');
462462
$user->save();
463463

464-
$models = EloquentTestUser::fromQuery('SELECT * FROM users WHERE email = ?', ['[email protected]'], 'second_connection');
464+
$models = EloquentTestUser::on('second_connection')->fromQuery('SELECT * FROM users WHERE email = ?', ['[email protected]']);
465465

466466
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $models);
467467
$this->assertInstanceOf('Illuminate\Tests\Database\EloquentTestUser', $models[0]);

tests/Database/DatabaseEloquentModelTest.php

-23
Original file line numberDiff line numberDiff line change
@@ -95,29 +95,6 @@ public function testNewInstanceReturnsNewInstanceWithAttributesSet()
9595
$this->assertEquals('taylor', $instance->name);
9696
}
9797

98-
public function testHydrateCreatesCollectionOfModels()
99-
{
100-
$data = [['name' => 'Taylor'], ['name' => 'Otwell']];
101-
$collection = EloquentModelStub::hydrate($data, 'foo_connection');
102-
103-
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $collection);
104-
$this->assertCount(2, $collection);
105-
$this->assertInstanceOf('Illuminate\Tests\Database\EloquentModelStub', $collection[0]);
106-
$this->assertInstanceOf('Illuminate\Tests\Database\EloquentModelStub', $collection[1]);
107-
$this->assertEquals($collection[0]->getAttributes(), $collection[0]->getOriginal());
108-
$this->assertEquals($collection[1]->getAttributes(), $collection[1]->getOriginal());
109-
$this->assertEquals('Taylor', $collection[0]->name);
110-
$this->assertEquals('Otwell', $collection[1]->name);
111-
$this->assertEquals('foo_connection', $collection[0]->getConnectionName());
112-
$this->assertEquals('foo_connection', $collection[1]->getConnectionName());
113-
}
114-
115-
public function testHydrateRawMakesRawQuery()
116-
{
117-
$collection = EloquentModelHydrateRawStub::fromQuery('SELECT ?', ['foo']);
118-
$this->assertEquals('hydrated', $collection);
119-
}
120-
12198
public function testCreateMethodSavesNewModel()
12299
{
123100
$_SERVER['__eloquent.saved'] = false;

0 commit comments

Comments
 (0)