/** * Get the hydrated models without eager loading. * * @param array $columns * @return array */ public function getModels($columns = array()) { // First, we will simply get the raw results from the query builders which we // can use to populate an array with models. We will pass columns // that should be selected as well, which are typically just everything. $results = $this->query->get($columns); if ($this->total) { $this->total = $results->countAll(); } $connection = $this->model->getConnectionName(); $models = array(); // Once we have the results, we can spin through them and instantiate a fresh // model instance for each records we retrieved from the database. We will // also set the proper connection name for the model after we create it. foreach ($results as $result) { $models[] = $model = $this->model->newFromBuilder($result); $model->setConnection($connection); } return $models; }
public function testDateTimeAttributesReturnNullIfSetToNull() { $timestamps = array('created_at' => new DateTime(), 'updated_at' => new DateTime()); $model = new LMongoDateModelStub(); LMongo\Eloquent\Model::setConnectionResolver($resolver = m::mock('LMongo\\DatabaseManager')); $resolver->shouldReceive('connection')->andReturn($mockConnection = m::mock('StdClass')); $instance = $model->newInstance($timestamps); $instance->created_at = null; $this->assertNull($instance->created_at); }