Commit f5ffbfbc authored by Jens Segers's avatar Jens Segers

Hide MongoId and MongoDate objects from the user

parent 3eaf3b16
...@@ -5,6 +5,7 @@ use Jenssegers\Mongodb\DatabaseManager as Resolver; ...@@ -5,6 +5,7 @@ use Jenssegers\Mongodb\DatabaseManager as Resolver;
use Jenssegers\Mongodb\Builder as QueryBuilder; use Jenssegers\Mongodb\Builder as QueryBuilder;
use DateTime; use DateTime;
use MongoId;
use MongoDate; use MongoDate;
abstract class Model extends \Illuminate\Database\Eloquent\Model { abstract class Model extends \Illuminate\Database\Eloquent\Model {
...@@ -109,4 +110,31 @@ abstract class Model extends \Illuminate\Database\Eloquent\Model { ...@@ -109,4 +110,31 @@ abstract class Model extends \Illuminate\Database\Eloquent\Model {
return new QueryBuilder($this->getConnection()); return new QueryBuilder($this->getConnection());
} }
/**
* Set the array of model attributes. No checking is done.
*
* @param array $attributes
* @param bool $sync
* @return void
*/
public function setRawAttributes(array $attributes, $sync = false)
{
foreach($attributes as $key => &$value)
{
// Convert MongoId
if ($value instanceof MongoId)
{
$value = (string) $value;
}
// Convert MongoDate
else if ($value instanceof MongoDate)
{
$value = $this->asDateTime($value)->format('Y-m-d H:i:s');
}
}
parent::setRawAttributes($attributes, $sync);
}
} }
\ No newline at end of file
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