Commit c16f41cd authored by Jens Segers's avatar Jens Segers

Run PSR2 fixer

parent 17b80284
......@@ -2,8 +2,8 @@
use Jenssegers\Mongodb\Eloquent\HybridRelations;
abstract class Model extends \Illuminate\Database\Eloquent\Model {
abstract class Model extends \Illuminate\Database\Eloquent\Model
{
use HybridRelations;
}
......@@ -3,8 +3,8 @@
use DateTime;
use MongoDate;
class DatabaseTokenRepository extends \Illuminate\Auth\Passwords\DatabaseTokenRepository {
class DatabaseTokenRepository extends \Illuminate\Auth\Passwords\DatabaseTokenRepository
{
/**
* Build the record payload for the table.
*
......@@ -26,20 +26,16 @@ class DatabaseTokenRepository extends \Illuminate\Auth\Passwords\DatabaseTokenRe
protected function tokenExpired($token)
{
// Convert MongoDate to a date string.
if ($token['created_at'] instanceof MongoDate)
{
if ($token['created_at'] instanceof MongoDate) {
$date = new DateTime;
$date->setTimestamp($token['created_at']->sec);
$token['created_at'] = $date->format('Y-m-d H:i:s');
}
elseif (is_array($token['created_at']) and isset($token['created_at']['date']))
{
} elseif (is_array($token['created_at']) and isset($token['created_at']['date'])) {
$token['created_at'] = $token['created_at']['date'];
}
return parent::tokenExpired($token);
}
}
......@@ -2,8 +2,8 @@
use Jenssegers\Mongodb\Auth\DatabaseTokenRepository as DbRepository;
class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordResetServiceProvider {
class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordResetServiceProvider
{
/**
* Register the token repository implementation.
*
......@@ -11,8 +11,7 @@ class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordRe
*/
protected function registerTokenRepository()
{
$this->app->singleton('auth.password.tokens', function ($app)
{
$this->app->singleton('auth.password.tokens', function ($app) {
$connection = $app['db']->connection();
// The database token repository is an implementation of the token repository
......@@ -25,5 +24,4 @@ class PasswordResetServiceProvider extends \Illuminate\Auth\Passwords\PasswordRe
return new DbRepository($connection, $table, $key, $expire);
});
}
}
......@@ -3,8 +3,8 @@
use Exception;
use MongoCollection;
class Collection {
class Collection
{
/**
* The connection instance.
*
......@@ -41,8 +41,7 @@ class Collection {
$result = call_user_func_array([$this->collection, $method], $parameters);
if ($this->connection->logging())
{
if ($this->connection->logging()) {
// Once we have run the query we will calculate the time that it took to run and
// then log the query, bindings, and execution time so we will report them on
// the event that the developer needs them. We'll log time in milliseconds.
......@@ -51,14 +50,10 @@ class Collection {
$query = [];
// Convert the query paramters to a json string.
foreach ($parameters as $parameter)
{
try
{
foreach ($parameters as $parameter) {
try {
$query[] = json_encode($parameter);
}
catch (Exception $e)
{
} catch (Exception $e) {
$query[] = '{...}';
}
}
......@@ -70,5 +65,4 @@ class Collection {
return $result;
}
}
......@@ -2,8 +2,8 @@
use MongoClient;
class Connection extends \Illuminate\Database\Connection {
class Connection extends \Illuminate\Database\Connection
{
/**
* The MongoDB database handler.
*
......@@ -131,21 +131,18 @@ class Connection extends \Illuminate\Database\Connection {
{
// Add credentials as options, this makes sure the connection will not fail if
// the username or password contains strange characters.
if ( ! empty($config['username']))
{
if (! empty($config['username'])) {
$options['username'] = $config['username'];
}
if ( ! empty($config['password']))
{
if (! empty($config['password'])) {
$options['password'] = $config['password'];
}
// By default driver options is an empty array.
$driverOptions = [];
if (isset($config['driver_options']) && is_array($config['driver_options']))
{
if (isset($config['driver_options']) && is_array($config['driver_options'])) {
$driverOptions = $config['driver_options'];
}
......@@ -174,19 +171,16 @@ class Connection extends \Illuminate\Database\Connection {
extract($config);
// Check if the user passed a complete dsn to the configuration.
if ( ! empty($dsn))
{
if (! empty($dsn)) {
return $dsn;
}
// Treat host option as array of hosts
$hosts = is_array($host) ? $host : [$host];
foreach ($hosts as &$host)
{
foreach ($hosts as &$host) {
// Check if we need to add a port to the host
if (strpos($host, ':') === false and isset($port))
{
if (strpos($host, ':') === false and isset($port)) {
$host = "{$host}:{$port}";
}
}
......@@ -228,5 +222,4 @@ class Connection extends \Illuminate\Database\Connection {
{
return call_user_func_array([$this->db, $method], $parameters);
}
}
......@@ -4,8 +4,8 @@ use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Relations\Relation;
use MongoCursor;
class Builder extends EloquentBuilder {
class Builder extends EloquentBuilder
{
/**
* The methods that should be returned from query builder.
*
......@@ -26,8 +26,7 @@ class Builder extends EloquentBuilder {
{
// Intercept operations on embedded models and delegate logic
// to the parent relation instance.
if ($relation = $this->model->getParentRelation())
{
if ($relation = $this->model->getParentRelation()) {
$relation->performUpdate($this->model, $values);
return 1;
......@@ -46,8 +45,7 @@ class Builder extends EloquentBuilder {
{
// Intercept operations on embedded models and delegate logic
// to the parent relation instance.
if ($relation = $this->model->getParentRelation())
{
if ($relation = $this->model->getParentRelation()) {
$relation->performInsert($this->model, $values);
return true;
......@@ -67,8 +65,7 @@ class Builder extends EloquentBuilder {
{
// Intercept operations on embedded models and delegate logic
// to the parent relation instance.
if ($relation = $this->model->getParentRelation())
{
if ($relation = $this->model->getParentRelation()) {
$relation->performInsert($this->model, $values);
return $this->model->getKey();
......@@ -86,8 +83,7 @@ class Builder extends EloquentBuilder {
{
// Intercept operations on embedded models and delegate logic
// to the parent relation instance.
if ($relation = $this->model->getParentRelation())
{
if ($relation = $this->model->getParentRelation()) {
$relation->performDelete($this->model);
return $this->model->getKey();
......@@ -108,8 +104,7 @@ class Builder extends EloquentBuilder {
{
// Intercept operations on embedded models and delegate logic
// to the parent relation instance.
if ($relation = $this->model->getParentRelation())
{
if ($relation = $this->model->getParentRelation()) {
$value = $this->model->{$column};
// When doing increment and decrements, Eloquent will automatically
......@@ -139,8 +134,7 @@ class Builder extends EloquentBuilder {
{
// Intercept operations on embedded models and delegate logic
// to the parent relation instance.
if ($relation = $this->model->getParentRelation())
{
if ($relation = $this->model->getParentRelation()) {
$value = $this->model->{$column};
// When doing increment and decrements, Eloquent will automatically
......@@ -174,13 +168,13 @@ class Builder extends EloquentBuilder {
$relationCount = array_count_values($query->lists($relation->getHasCompareKey()));
// Remove unwanted related objects based on the operator and count.
$relationCount = array_filter($relationCount, function ($counted) use ($count, $operator)
{
$relationCount = array_filter($relationCount, function ($counted) use ($count, $operator) {
// If we are comparing to 0, we always need all results.
if ($count == 0) return true;
if ($count == 0) {
return true;
}
switch ($operator)
{
switch ($operator) {
case '>=':
case '<':
return $counted >= $count;
......@@ -197,7 +191,9 @@ class Builder extends EloquentBuilder {
$not = in_array($operator, ['<', '<=', '!=']);
// If we are comparing to 0, we need an additional $not flip.
if ($count == 0) $not = !$not;
if ($count == 0) {
$not = !$not;
}
// All related ids.
$relatedIds = array_keys($relationCount);
......@@ -218,16 +214,14 @@ class Builder extends EloquentBuilder {
$results = $this->query->raw($expression);
// Convert MongoCursor results to a collection of models.
if ($results instanceof MongoCursor)
{
if ($results instanceof MongoCursor) {
$results = iterator_to_array($results, false);
return $this->model->hydrate($results);
}
// The result is a single object.
elseif (is_array($results) and array_key_exists('_id', $results))
{
elseif (is_array($results) and array_key_exists('_id', $results)) {
$model = $this->model->newFromBuilder($results);
$model->setConnection($this->model->getConnection());
......@@ -237,5 +231,4 @@ class Builder extends EloquentBuilder {
return $results;
}
}
......@@ -10,8 +10,8 @@ use Jenssegers\Mongodb\Relations\HasMany;
use Jenssegers\Mongodb\Relations\HasOne;
use Jenssegers\Mongodb\Relations\MorphTo;
trait HybridRelations {
trait HybridRelations
{
/**
* Define a one-to-one relationship.
*
......@@ -23,8 +23,7 @@ trait HybridRelations {
public function hasOne($related, $foreignKey = null, $localKey = null)
{
// Check if it is a relation with an original model.
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model'))
{
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model')) {
return parent::hasOne($related, $foreignKey, $localKey);
}
......@@ -50,9 +49,8 @@ trait HybridRelations {
public function morphOne($related, $name, $type = null, $id = null, $localKey = null)
{
// Check if it is a relation with an original model.
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model'))
{
return parent::morphOne($related, $name, $type, $id, $localKey );
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model')) {
return parent::morphOne($related, $name, $type, $id, $localKey);
}
$instance = new $related;
......@@ -77,8 +75,7 @@ trait HybridRelations {
public function hasMany($related, $foreignKey = null, $localKey = null)
{
// Check if it is a relation with an original model.
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model'))
{
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model')) {
return parent::hasMany($related, $foreignKey, $localKey);
}
......@@ -104,8 +101,7 @@ trait HybridRelations {
public function morphMany($related, $name, $type = null, $id = null, $localKey = null)
{
// Check if it is a relation with an original model.
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model'))
{
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model')) {
return parent::morphMany($related, $name, $type, $id, $localKey);
}
......@@ -137,24 +133,21 @@ trait HybridRelations {
// If no relation name was given, we will use this debug backtrace to extract
// the calling method's name and use that as the relationship name as most
// of the time this will be what we desire to use for the relationships.
if (is_null($relation))
{
if (is_null($relation)) {
list($current, $caller) = debug_backtrace(false, 2);
$relation = $caller['function'];
}
// Check if it is a relation with an original model.
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model'))
{
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model')) {
return parent::belongsTo($related, $foreignKey, $otherKey, $relation);
}
// If no foreign key was supplied, we can use a backtrace to guess the proper
// foreign key name by using the name of the relationship function, which
// when combined with an "_id" should conventionally match the columns.
if (is_null($foreignKey))
{
if (is_null($foreignKey)) {
$foreignKey = Str::snake($relation) . '_id';
}
......@@ -183,8 +176,7 @@ trait HybridRelations {
// If no name is provided, we will use the backtrace to get the function name
// since that is most likely the name of the polymorphic interface. We can
// use that to get both the class and foreign key that will be utilized.
if (is_null($name))
{
if (is_null($name)) {
list($current, $caller) = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
$name = Str::snake($caller['function']);
......@@ -195,8 +187,7 @@ trait HybridRelations {
// If the type value is null it is probably safe to assume we're eager loading
// the relationship. When that is the case we will pass in a dummy query as
// there are multiple types in the morph and we can't use single queries.
if (is_null($class = $this->$type))
{
if (is_null($class = $this->$type)) {
return new MorphTo(
$this->newQuery(), $this, $id, null, $type, $name
);
......@@ -205,8 +196,7 @@ trait HybridRelations {
// If we are not eager loading the relationship we will essentially treat this
// as a belongs-to style relationship since morph-to extends that class and
// we will pass in the appropriate values so that it behaves as expected.
else
{
else {
$class = $this->getActualClassNameForMorph($class);
$instance = new $class;
......@@ -232,14 +222,12 @@ trait HybridRelations {
// If no relationship name was passed, we will pull backtraces to get the
// name of the calling function. We will use that function name as the
// title of this relation since that is a great convention to apply.
if (is_null($relation))
{
if (is_null($relation)) {
$relation = $this->getBelongsToManyCaller();
}
// Check if it is a relation with an original model.
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model'))
{
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Model')) {
return parent::belongsToMany($related, $collection, $foreignKey, $otherKey, $relation);
}
......@@ -255,8 +243,7 @@ trait HybridRelations {
// If no table name was provided, we can guess it by concatenating the two
// models using underscores in alphabetical order. The two model names
// are transformed to snake case from their default CamelCase also.
if (is_null($collection))
{
if (is_null($collection)) {
$collection = $instance->getTable();
}
......@@ -267,5 +254,4 @@ trait HybridRelations {
return new BelongsToMany($query, $this, $collection, $foreignKey, $otherKey, $relation);
}
}
<?php namespace Jenssegers\Mongodb\Eloquent;
trait SoftDeletes {
trait SoftDeletes
{
use \Illuminate\Database\Eloquent\SoftDeletes;
......@@ -13,5 +14,4 @@ trait SoftDeletes {
{
return $this->getDeletedAtColumn();
}
}
......@@ -14,7 +14,8 @@ use MongoDate;
use MongoId;
use ReflectionMethod;
abstract class Model extends BaseModel {
abstract class Model extends BaseModel
{
use HybridRelations;
......@@ -49,14 +50,12 @@ abstract class Model extends BaseModel {
{
// If we don't have a value for 'id', we will use the Mongo '_id' value.
// This allows us to work with models in a more sql-like way.
if ( ! $value and array_key_exists('_id', $this->attributes))
{
if (! $value and array_key_exists('_id', $this->attributes)) {
$value = $this->attributes['_id'];
}
// Convert MongoId's to string.
if ($value instanceof MongoId)
{
if ($value instanceof MongoId) {
return (string) $value;
}
......@@ -87,20 +86,17 @@ abstract class Model extends BaseModel {
// If no relation name was given, we will use this debug backtrace to extract
// the calling method's name and use that as the relationship name as most
// of the time this will be what we desire to use for the relatinoships.
if (is_null($relation))
{
if (is_null($relation)) {
list(, $caller) = debug_backtrace(false);
$relation = $caller['function'];
}
if (is_null($localKey))
{
if (is_null($localKey)) {
$localKey = $relation;
}
if (is_null($foreignKey))
{
if (is_null($foreignKey)) {
$foreignKey = snake_case(class_basename($this));
}
......@@ -125,20 +121,17 @@ abstract class Model extends BaseModel {
// If no relation name was given, we will use this debug backtrace to extract
// the calling method's name and use that as the relationship name as most
// of the time this will be what we desire to use for the relatinoships.
if (is_null($relation))
{
if (is_null($relation)) {
list(, $caller) = debug_backtrace(false);
$relation = $caller['function'];
}
if (is_null($localKey))
{
if (is_null($localKey)) {
$localKey = $relation;
}
if (is_null($foreignKey))
{
if (is_null($foreignKey)) {
$foreignKey = snake_case(class_basename($this));
}
......@@ -158,14 +151,12 @@ abstract class Model extends BaseModel {
public function fromDateTime($value)
{
// If the value is already a MongoDate instance, we don't need to parse it.
if ($value instanceof MongoDate)
{
if ($value instanceof MongoDate) {
return $value;
}
// Let Eloquent convert the value to a DateTime instance.
if ( ! $value instanceof DateTime)
{
if (! $value instanceof DateTime) {
$value = parent::asDateTime($value);
}
......@@ -181,8 +172,7 @@ abstract class Model extends BaseModel {
protected function asDateTime($value)
{
// Convert MongoDate instances.
if ($value instanceof MongoDate)
{
if ($value instanceof MongoDate) {
return Carbon::createFromTimestamp($value->sec);
}
......@@ -228,8 +218,7 @@ abstract class Model extends BaseModel {
public function getAttribute($key)
{
// Check if the key is an array dot notation.
if (str_contains($key, '.') and array_has($this->attributes, $key))
{
if (str_contains($key, '.') and array_has($this->attributes, $key)) {
return $this->getAttributeValue($key);
}
......@@ -238,24 +227,20 @@ abstract class Model extends BaseModel {
// If the "attribute" exists as a method on the model, it may be an
// embedded model. If so, we need to return the result before it
// is handled by the parent method.
if (method_exists($this, $camelKey))
{
if (method_exists($this, $camelKey)) {
$method = new ReflectionMethod(get_called_class(), $camelKey);
// Ensure the method is not static to avoid conflicting with Eloquent methods.
if ( ! $method->isStatic())
{
if (! $method->isStatic()) {
$relations = $this->$camelKey();
// This attribute matches an embedsOne or embedsMany relation so we need
// to return the relation results instead of the interal attributes.
if ($relations instanceof EmbedsOneOrMany)
{
if ($relations instanceof EmbedsOneOrMany) {
// If the key already exists in the relationships array, it just means the
// relationship has already been loaded, so we'll just return it out of
// here because there is no need to query within the relations twice.
if (array_key_exists($key, $this->relations))
{
if (array_key_exists($key, $this->relations)) {
return $this->relations[$key];
}
......@@ -277,12 +262,10 @@ abstract class Model extends BaseModel {
protected function getAttributeFromArray($key)
{
// Support keys in dot notation.
if (str_contains($key, '.'))
{
if (str_contains($key, '.')) {
$attributes = array_dot($this->attributes);
if (array_key_exists($key, $attributes))
{
if (array_key_exists($key, $attributes)) {
return $attributes[$key];
}
}
......@@ -299,18 +282,15 @@ abstract class Model extends BaseModel {
public function setAttribute($key, $value)
{
// Convert _id to MongoId.
if ($key == '_id' and is_string($value))
{
if ($key == '_id' and is_string($value)) {
$builder = $this->newBaseQueryBuilder();
$value = $builder->convertKey($value);
}
// Support keys in dot notation.
elseif (str_contains($key, '.'))
{
if (in_array($key, $this->getDates()) && $value)
{
elseif (str_contains($key, '.')) {
if (in_array($key, $this->getDates()) && $value) {
$value = $this->fromDateTime($value);
}
......@@ -345,19 +325,15 @@ abstract class Model extends BaseModel {
// MongoDB related objects to a string representation. This kind
// of mimics the SQL behaviour so that dates are formatted
// nicely when your models are converted to JSON.
foreach ($attributes as $key => &$value)
{
if ($value instanceof MongoId)
{
foreach ($attributes as $key => &$value) {
if ($value instanceof MongoId) {
$value = (string) $value;
}
}
// Convert dot-notation dates.
foreach ($this->getDates() as $key)
{
if (str_contains($key, '.') and array_has($attributes, $key))
{
foreach ($this->getDates() as $key) {
if (str_contains($key, '.') and array_has($attributes, $key)) {
array_set($attributes, $key, (string) $this->asDateTime(array_get($attributes, $key)));
}
}
......@@ -378,8 +354,7 @@ abstract class Model extends BaseModel {
$original = $this->original[$key];
// Date comparison.
if (in_array($key, $this->getDates()))
{
if (in_array($key, $this->getDates())) {
$current = $current instanceof MongoDate ? $this->asDateTime($current) : $current;
$original = $original instanceof MongoDate ? $this->asDateTime($original) : $original;
......@@ -397,11 +372,12 @@ abstract class Model extends BaseModel {
*/
public function drop($columns)
{
if ( ! is_array($columns)) $columns = [$columns];
if (! is_array($columns)) {
$columns = [$columns];
}
// Unset attributes
foreach ($columns as $column)
{
foreach ($columns as $column) {
$this->__unset($column);
}
......@@ -416,21 +392,19 @@ abstract class Model extends BaseModel {
*/
public function push()
{
if ($parameters = func_get_args())
{
if ($parameters = func_get_args()) {
$unique = false;
if (count($parameters) == 3)
{
if (count($parameters) == 3) {
list($column, $values, $unique) = $parameters;
}
else
{
} else {
list($column, $values) = $parameters;
}
// Do batch push by default.
if ( ! is_array($values)) $values = [$values];
if (! is_array($values)) {
$values = [$values];
}
$query = $this->setKeysForSaveQuery($this->newQuery());
......@@ -452,7 +426,9 @@ abstract class Model extends BaseModel {
public function pull($column, $values)
{
// Do batch pull by default.
if ( ! is_array($values)) $values = [$values];
if (! is_array($values)) {
$values = [$values];
}
$query = $this->setKeysForSaveQuery($this->newQuery());
......@@ -472,10 +448,11 @@ abstract class Model extends BaseModel {
{
$current = $this->getAttributeFromArray($column) ?: [];
foreach ($values as $value)
{
foreach ($values as $value) {
// Don't add duplicate values when we only want unique values.
if ($unique and in_array($value, $current)) continue;
if ($unique and in_array($value, $current)) {
continue;
}
array_push($current, $value);
}
......@@ -495,12 +472,10 @@ abstract class Model extends BaseModel {
{
$current = $this->getAttributeFromArray($column) ?: [];
foreach ($values as $value)
{
foreach ($values as $value) {
$keys = array_keys($current, $value);
foreach ($keys as $key)
{
foreach ($keys as $key) {
unset($current[$key]);
}
}
......@@ -563,12 +538,10 @@ abstract class Model extends BaseModel {
public function __call($method, $parameters)
{
// Unset method
if ($method == 'unset')
{
if ($method == 'unset') {
return call_user_func_array([$this, 'drop'], $parameters);
}
return parent::__call($method, $parameters);
}
}
......@@ -2,8 +2,8 @@
use Illuminate\Support\ServiceProvider;
class MongodbServiceProvider extends ServiceProvider {
class MongodbServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application events.
*/
......@@ -19,13 +19,10 @@ class MongodbServiceProvider extends ServiceProvider {
*/
public function register()
{
$this->app->resolving('db', function ($db)
{
$db->extend('mongodb', function ($config)
{
$this->app->resolving('db', function ($db) {
$db->extend('mongodb', function ($config) {
return new Connection($config);
});
});
}
}
......@@ -11,8 +11,8 @@ use MongoDate;
use MongoId;
use MongoRegex;
class Builder extends BaseBuilder {
class Builder extends BaseBuilder
{
/**
* The database collection.
*
......@@ -163,24 +163,25 @@ class Builder extends BaseBuilder {
// If no columns have been specified for the select statement, we will set them
// here to either the passed columns, or the standard default of retrieving
// all of the columns on the table using the "wildcard" column character.
if (is_null($this->columns)) $this->columns = $columns;
if (is_null($this->columns)) {
$this->columns = $columns;
}
// Drop all columns if * is present, MongoDB does not work this way.
if (in_array('*', $this->columns)) $this->columns = [];
if (in_array('*', $this->columns)) {
$this->columns = [];
}
// Compile wheres
$wheres = $this->compileWheres();
// Use MongoDB's aggregation framework when using grouping or aggregation functions.
if ($this->groups or $this->aggregate or $this->paginating)
{
if ($this->groups or $this->aggregate or $this->paginating) {
$group = [];
// Add grouping columns to the $group part of the aggregation pipeline.
if ($this->groups)
{
foreach ($this->groups as $column)
{
if ($this->groups) {
foreach ($this->groups as $column) {
$group['_id'][$column] = '$' . $column;
// When grouping, also add the $last operator to each grouped field,
......@@ -189,8 +190,7 @@ class Builder extends BaseBuilder {
}
// Do the same for other columns that are selected.
foreach ($this->columns as $column)
{
foreach ($this->columns as $column) {
$key = str_replace('.', '_', $column);
$group[$key] = ['$last' => '$' . $column];
......@@ -199,20 +199,16 @@ class Builder extends BaseBuilder {
// Add aggregation functions to the $group part of the aggregation pipeline,
// these may override previous aggregations.
if ($this->aggregate)
{
if ($this->aggregate) {
$function = $this->aggregate['function'];
foreach ($this->aggregate['columns'] as $column)
{
foreach ($this->aggregate['columns'] as $column) {
// Translate count into sum.
if ($function == 'count')
{
if ($function == 'count') {
$group['aggregate'] = ['$sum' => 1];
}
// Pass other functions directly.
else
{
else {
$group['aggregate'] = ['$' . $function => '$' . $column];
}
}
......@@ -220,30 +216,39 @@ class Builder extends BaseBuilder {
// When using pagination, we limit the number of returned columns
// by adding a projection.
if ($this->paginating)
{
foreach ($this->columns as $column)
{
if ($this->paginating) {
foreach ($this->columns as $column) {
$this->projections[$column] = 1;
}
}
// The _id field is mandatory when using grouping.
if ($group and empty($group['_id']))
{
if ($group and empty($group['_id'])) {
$group['_id'] = null;
}
// Build the aggregation pipeline.
$pipeline = [];
if ($wheres) $pipeline[] = ['$match' => $wheres];
if ($group) $pipeline[] = ['$group' => $group];
if ($wheres) {
$pipeline[] = ['$match' => $wheres];
}
if ($group) {
$pipeline[] = ['$group' => $group];
}
// Apply order and limit
if ($this->orders) $pipeline[] = ['$sort' => $this->orders];
if ($this->offset) $pipeline[] = ['$skip' => $this->offset];
if ($this->limit) $pipeline[] = ['$limit' => $this->limit];
if ($this->projections) $pipeline[] = ['$project' => $this->projections];
if ($this->orders) {
$pipeline[] = ['$sort' => $this->orders];
}
if ($this->offset) {
$pipeline[] = ['$skip' => $this->offset];
}
if ($this->limit) {
$pipeline[] = ['$limit' => $this->limit];
}
if ($this->projections) {
$pipeline[] = ['$project' => $this->projections];
}
// Execute aggregation
$results = $this->collection->aggregate($pipeline);
......@@ -253,18 +258,14 @@ class Builder extends BaseBuilder {
}
// Distinct query
elseif ($this->distinct)
{
elseif ($this->distinct) {
// Return distinct results directly
$column = isset($this->columns[0]) ? $this->columns[0] : '_id';
// Execute distinct
if ($wheres)
{
if ($wheres) {
$result = $this->collection->distinct($column, $wheres);
}
else
{
} else {
$result = $this->collection->distinct($column);
}
......@@ -272,19 +273,16 @@ class Builder extends BaseBuilder {
}
// Normal query
else
{
else {
$columns = [];
// Convert select columns to simple projections.
foreach ($this->columns as $column)
{
foreach ($this->columns as $column) {
$columns[$column] = true;
}
// Add custom projections.
if ($this->projections)
{
if ($this->projections) {
$columns = array_merge($columns, $this->projections);
}
......@@ -292,11 +290,21 @@ class Builder extends BaseBuilder {
$cursor = $this->collection->find($wheres, $columns);
// Apply order, offset, limit and hint
if ($this->timeout) $cursor->timeout($this->timeout);
if ($this->orders) $cursor->sort($this->orders);
if ($this->offset) $cursor->skip($this->offset);
if ($this->limit) $cursor->limit($this->limit);
if ($this->hint) $cursor->hint($this->hint);
if ($this->timeout) {
$cursor->timeout($this->timeout);
}
if ($this->orders) {
$cursor->sort($this->orders);
}
if ($this->offset) {
$cursor->skip($this->offset);
}
if ($this->limit) {
$cursor->limit($this->limit);
}
if ($this->hint) {
$cursor->hint($this->hint);
}
// Return results as an array with numeric keys
return iterator_to_array($cursor, false);
......@@ -341,10 +349,10 @@ class Builder extends BaseBuilder {
// Once we have executed the query, we will reset the aggregate property so
// that more select queries can be executed against the database without
// the aggregate value getting in the way when the grammar builds it.
$this->columns = null; $this->aggregate = null;
$this->columns = null;
$this->aggregate = null;
if (isset($results[0]))
{
if (isset($results[0])) {
$result = (array) $results[0];
return $result['aggregate'];
......@@ -370,8 +378,7 @@ class Builder extends BaseBuilder {
{
$this->distinct = true;
if ($column)
{
if ($column) {
$this->columns = [$column];
}
......@@ -387,17 +394,13 @@ class Builder extends BaseBuilder {
*/
public function orderBy($column, $direction = 'asc')
{
if (is_string($direction))
{
if (is_string($direction)) {
$direction = (strtolower($direction) == 'asc' ? 1 : -1);
}
if ($column == 'natural')
{
if ($column == 'natural') {
$this->orders['$natural'] = $direction;
}
else
{
} else {
$this->orders[$column] = $direction;
}
......@@ -448,17 +451,18 @@ class Builder extends BaseBuilder {
// if the user is inserting a single document or an array of documents.
$batch = true;
foreach ($values as $value)
{
foreach ($values as $value) {
// As soon as we find a value that is not an array we assume the user is
// inserting a single document.
if ( ! is_array($value))
{
$batch = false; break;
if (! is_array($value)) {
$batch = false;
break;
}
}
if ( ! $batch) $values = [$values];
if (! $batch) {
$values = [$values];
}
// Batch insert
$result = $this->collection->batchInsert($values);
......@@ -477,10 +481,8 @@ class Builder extends BaseBuilder {
{
$result = $this->collection->insert($values);
if (1 == (int) $result['ok'])
{
if (is_null($sequence))
{
if (1 == (int) $result['ok']) {
if (is_null($sequence)) {
$sequence = '_id';
}
......@@ -499,8 +501,7 @@ class Builder extends BaseBuilder {
public function update(array $values, array $options = [])
{
// Use $set as default operator.
if ( ! starts_with(key($values), '$'))
{
if (! starts_with(key($values), '$')) {
$values = ['$set' => $values];
}
......@@ -519,14 +520,12 @@ class Builder extends BaseBuilder {
{
$query = ['$inc' => [$column => $amount]];
if ( ! empty($extra))
{
if (! empty($extra)) {
$query['$set'] = $extra;
}
// Protect
$this->where(function ($query) use ($column)
{
$this->where(function ($query) use ($column) {
$query->where($column, 'exists', false);
$query->orWhereNotNull($column);
......@@ -581,8 +580,7 @@ class Builder extends BaseBuilder {
$result = $this->collection->remove($wheres);
if (1 == (int) $result['ok'])
{
if (1 == (int) $result['ok']) {
return $result['n'];
}
......@@ -597,8 +595,7 @@ class Builder extends BaseBuilder {
*/
public function from($collection)
{
if ($collection)
{
if ($collection) {
$this->collection = $this->connection->getCollection($collection);
}
......@@ -624,13 +621,11 @@ class Builder extends BaseBuilder {
*/
public function lists($column, $key = null)
{
if ($key == '_id')
{
if ($key == '_id') {
$results = new Collection($this->get([$column, $key]));
// Convert MongoId's to strings so that lists can do its work.
$results = $results->map(function ($item)
{
$results = $results->map(function ($item) {
$item['_id'] = (string) $item['_id'];
return $item;
......@@ -651,14 +646,12 @@ class Builder extends BaseBuilder {
public function raw($expression = null)
{
// Execute the closure on the mongodb collection
if ($expression instanceof Closure)
{
if ($expression instanceof Closure) {
return call_user_func($expression, $this->collection);
}
// Create an expression for the given value
elseif ( ! is_null($expression))
{
elseif (! is_null($expression)) {
return new Expression($expression);
}
......@@ -681,16 +674,11 @@ class Builder extends BaseBuilder {
// Check if we are pushing multiple values.
$batch = (is_array($value) and array_keys($value) === range(0, count($value) - 1));
if (is_array($column))
{
if (is_array($column)) {
$query = [$operator => $column];
}
elseif ($batch)
{
} elseif ($batch) {
$query = [$operator => [$column => ['$each' => $value]]];
}
else
{
} else {
$query = [$operator => [$column => $value]];
}
......@@ -712,12 +700,9 @@ class Builder extends BaseBuilder {
// If we are pulling multiple values, we need to use $pullAll.
$operator = $batch ? '$pullAll' : '$pull';
if (is_array($column))
{
if (is_array($column)) {
$query = [$operator => $column];
}
else
{
} else {
$query = [$operator => [$column => $value]];
}
......@@ -732,12 +717,13 @@ class Builder extends BaseBuilder {
*/
public function drop($columns)
{
if ( ! is_array($columns)) $columns = [$columns];
if (! is_array($columns)) {
$columns = [$columns];
}
$fields = [];
foreach ($columns as $column)
{
foreach ($columns as $column) {
$fields[$column] = 1;
}
......@@ -766,8 +752,7 @@ class Builder extends BaseBuilder {
protected function performUpdate($query, array $options = [])
{
// Update multiple items by default.
if ( ! array_key_exists('multiple', $options))
{
if (! array_key_exists('multiple', $options)) {
$options['multiple'] = true;
}
......@@ -775,8 +760,7 @@ class Builder extends BaseBuilder {
$result = $this->collection->update($wheres, $query, $options);
if (1 == (int) $result['ok'])
{
if (1 == (int) $result['ok']) {
return $result['n'];
}
......@@ -791,8 +775,7 @@ class Builder extends BaseBuilder {
*/
public function convertKey($id)
{
if (MongoId::isValid($id))
{
if (MongoId::isValid($id)) {
return new MongoId($id);
}
......@@ -815,12 +798,10 @@ class Builder extends BaseBuilder {
$params = func_get_args();
// Remove the leading $ from operators.
if (func_num_args() == 3)
{
if (func_num_args() == 3) {
$operator = &$params[1];
if (starts_with($operator, '$'))
{
if (starts_with($operator, '$')) {
$operator = substr($operator, 1);
}
}
......@@ -841,11 +822,9 @@ class Builder extends BaseBuilder {
// We will add all compiled wheres to this array.
$compiled = [];
foreach ($wheres as $i => &$where)
{
foreach ($wheres as $i => &$where) {
// Make sure the operator is in lowercase.
if (isset($where['operator']))
{
if (isset($where['operator'])) {
$where['operator'] = strtolower($where['operator']);
// Operator conversions
......@@ -860,42 +839,35 @@ class Builder extends BaseBuilder {
'uniquedocs' => 'uniqueDocs',
];
if (array_key_exists($where['operator'], $convert))
{
if (array_key_exists($where['operator'], $convert)) {
$where['operator'] = $convert[$where['operator']];
}
}
// Convert id's.
if (isset($where['column']) and ($where['column'] == '_id' or ends_with($where['column'], '._id')))
{
if (isset($where['column']) and ($where['column'] == '_id' or ends_with($where['column'], '._id'))) {
// Multiple values.
if (isset($where['values']))
{
foreach ($where['values'] as &$value)
{
if (isset($where['values'])) {
foreach ($where['values'] as &$value) {
$value = $this->convertKey($value);
}
}
// Single value.
elseif (isset($where['value']))
{
elseif (isset($where['value'])) {
$where['value'] = $this->convertKey($where['value']);
}
}
// Convert DateTime values to MongoDate.
if (isset($where['value']) and $where['value'] instanceof DateTime)
{
if (isset($where['value']) and $where['value'] instanceof DateTime) {
$where['value'] = new MongoDate($where['value']->getTimestamp());
}
// The next item in a "chain" of wheres devices the boolean of the
// first item. So if we see that there are multiple wheres, we will
// use the operator of the next where.
if ($i == 0 and count($wheres) > 1 and $where['boolean'] == 'and')
{
if ($i == 0 and count($wheres) > 1 and $where['boolean'] == 'and') {
$where['boolean'] = $wheres[$i + 1]['boolean'];
}
......@@ -904,15 +876,13 @@ class Builder extends BaseBuilder {
$result = $this->{$method}($where);
// Wrap the where with an $or operator.
if ($where['boolean'] == 'or')
{
if ($where['boolean'] == 'or') {
$result = ['$or' => [$result]];
}
// If there are multiple wheres, we will wrap it with $and. This is needed
// to make nested wheres work.
elseif (count($wheres) > 1)
{
elseif (count($wheres) > 1) {
$result = ['$and' => [$result]];
}
......@@ -928,47 +898,42 @@ class Builder extends BaseBuilder {
extract($where);
// Replace like with a MongoRegex instance.
if ($operator == 'like')
{
if ($operator == 'like') {
$operator = '=';
// Convert to regular expression.
$regex = preg_replace('#(^|[^\\\])%#', '$1.*', preg_quote($value));
// Convert like to regular expression.
if ( ! starts_with($value, '%')) $regex = '^' . $regex;
if ( ! ends_with($value, '%')) $regex = $regex . '$';
if (! starts_with($value, '%')) {
$regex = '^' . $regex;
}
if (! ends_with($value, '%')) {
$regex = $regex . '$';
}
$value = new MongoRegex("/$regex/i");
}
// Manipulate regexp operations.
elseif (in_array($operator, ['regexp', 'not regexp', 'regex', 'not regex']))
{
elseif (in_array($operator, ['regexp', 'not regexp', 'regex', 'not regex'])) {
// Automatically convert regular expression strings to MongoRegex objects.
if ( ! $value instanceof MongoRegex)
{
if (! $value instanceof MongoRegex) {
$value = new MongoRegex($value);
}
// For inverse regexp operations, we can just use the $not operator
// and pass it a MongoRegex instence.
if (starts_with($operator, 'not'))
{
if (starts_with($operator, 'not')) {
$operator = 'not';
}
}
if ( ! isset($operator) or $operator == '=')
{
if (! isset($operator) or $operator == '=') {
$query = [$column => $value];
}
elseif (array_key_exists($operator, $this->conversion))
{
} elseif (array_key_exists($operator, $this->conversion)) {
$query = [$column => [$this->conversion[$operator] => $value]];
}
else
{
} else {
$query = [$column => ['$' . $operator => $value]];
}
......@@ -1016,8 +981,7 @@ class Builder extends BaseBuilder {
{
extract($where);
if ($not)
{
if ($not) {
return [
'$or' => [
[
......@@ -1032,9 +996,7 @@ class Builder extends BaseBuilder {
],
],
];
}
else
{
} else {
return [
$column => [
'$gte' => $values[0],
......@@ -1058,12 +1020,10 @@ class Builder extends BaseBuilder {
*/
public function __call($method, $parameters)
{
if ($method == 'unset')
{
if ($method == 'unset') {
return call_user_func_array([$this, 'drop'], $parameters);
}
return parent::__call($method, $parameters);
}
}
......@@ -4,5 +4,4 @@ use Illuminate\Database\Query\Grammars\Grammar as BaseGrammar;
class Grammar extends BaseGrammar
{
}
......@@ -2,6 +2,6 @@
use Illuminate\Database\Query\Processors\Processor as BaseProcessor;
class Processor extends BaseProcessor {
class Processor extends BaseProcessor
{
}
<?php namespace Jenssegers\Mongodb\Relations;
class BelongsTo extends \Illuminate\Database\Eloquent\Relations\BelongsTo {
class BelongsTo extends \Illuminate\Database\Eloquent\Relations\BelongsTo
{
/**
* Set the base constraints on the relation query.
*/
public function addConstraints()
{
if (static::$constraints)
{
if (static::$constraints) {
// For belongs to relationships, which are essentially the inverse of has one
// or has many relationships, we need to actually query on the primary key
// of the related models matching on the foreign key that's on a parent.
......@@ -30,5 +29,4 @@ class BelongsTo extends \Illuminate\Database\Eloquent\Relations\BelongsTo {
$this->query->whereIn($key, $this->getEagerModelKeys($models));
}
}
......@@ -4,8 +4,8 @@ use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany as EloquentBelongsToMany;
class BelongsToMany extends EloquentBelongsToMany {
class BelongsToMany extends EloquentBelongsToMany
{
/**
* Hydrate the pivot table relationship on the models.
*
......@@ -32,7 +32,9 @@ class BelongsToMany extends EloquentBelongsToMany {
*/
public function addConstraints()
{
if (static::$constraints) $this->setWhere();
if (static::$constraints) {
$this->setWhere();
}
}
/**
......@@ -101,7 +103,9 @@ class BelongsToMany extends EloquentBelongsToMany {
'attached' => [], 'detached' => [], 'updated' => [],
];
if ($ids instanceof Collection) $ids = $ids->modelKeys();
if ($ids instanceof Collection) {
$ids = $ids->modelKeys();
}
// First we need to attach any of the associated models that are not currently
// in this joining table. We'll spin through the given IDs, checking to see
......@@ -109,7 +113,9 @@ class BelongsToMany extends EloquentBelongsToMany {
$current = $this->parent->{$this->otherKey} ?: [];
// See issue #256.
if ($current instanceof Collection) $current = $ids->modelKeys();
if ($current instanceof Collection) {
$current = $ids->modelKeys();
}
$records = $this->formatSyncList($ids);
......@@ -122,8 +128,7 @@ class BelongsToMany extends EloquentBelongsToMany {
// Next, we will take the differences of the currents and given IDs and detach
// all of the entities that exist in the "current" array but are not in the
// the array of the IDs given to the method which will complete the sync.
if ($detaching and count($detach) > 0)
{
if ($detaching and count($detach) > 0) {
$this->detach($detach);
$changes['detached'] = (array) array_map(function ($v) {
......@@ -138,8 +143,7 @@ class BelongsToMany extends EloquentBelongsToMany {
$changes, $this->attachNew($records, $current, false)
);
if (count($changes['attached']) || count($changes['updated']))
{
if (count($changes['attached']) || count($changes['updated'])) {
$this->touchIfTouching();
}
......@@ -167,17 +171,14 @@ class BelongsToMany extends EloquentBelongsToMany {
*/
public function attach($id, array $attributes = [], $touch = true)
{
if ($id instanceof Model)
{
if ($id instanceof Model) {
$model = $id;
$id = $model->getKey();
// Attach the new parent id to the related model.
$model->push($this->foreignKey, $this->parent->getKey(), true);
}
else
{
} else {
$query = $this->newRelatedQuery();
$query->whereIn($this->related->getKeyName(), (array) $id);
......@@ -189,7 +190,9 @@ class BelongsToMany extends EloquentBelongsToMany {
// Attach the new ids to the parent model.
$this->parent->push($this->otherKey, (array) $id, true);
if ($touch) $this->touchIfTouching();
if ($touch) {
$this->touchIfTouching();
}
}
/**
......@@ -201,7 +204,9 @@ class BelongsToMany extends EloquentBelongsToMany {
*/
public function detach($ids = [], $touch = true)
{
if ($ids instanceof Model) $ids = (array) $ids->getKey();
if ($ids instanceof Model) {
$ids = (array) $ids->getKey();
}
$query = $this->newRelatedQuery();
......@@ -214,15 +219,16 @@ class BelongsToMany extends EloquentBelongsToMany {
$this->parent->pull($this->otherKey, $ids);
// Prepare the query to select all related objects.
if (count($ids) > 0)
{
if (count($ids) > 0) {
$query->whereIn($this->related->getKeyName(), $ids);
}
// Remove the relation to the parent.
$query->pull($this->foreignKey, $this->parent->getKey());
if ($touch) $this->touchIfTouching();
if ($touch) {
$this->touchIfTouching();
}
return count($ids);
}
......@@ -242,10 +248,8 @@ class BelongsToMany extends EloquentBelongsToMany {
// parents without having a possibly slow inner loops for every models.
$dictionary = [];
foreach ($results as $result)
{
foreach ($result->$foreign as $item)
{
foreach ($results as $result) {
foreach ($result->$foreign as $item) {
$dictionary[$item][] = $result;
}
}
......
......@@ -5,8 +5,8 @@ use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
use MongoId;
class EmbedsMany extends EmbedsOneOrMany {
class EmbedsMany extends EmbedsOneOrMany
{
/**
* Get the results of the relationship.
*
......@@ -26,14 +26,12 @@ class EmbedsMany extends EmbedsOneOrMany {
public function performInsert(Model $model)
{
// Generate a new key if needed.
if ($model->getKeyName() == '_id' and ! $model->getKey())
{
if ($model->getKeyName() == '_id' and ! $model->getKey()) {
$model->setAttribute('_id', new MongoId);
}
// For deeply nested documents, let the parent handle the changes.
if ($this->isNested())
{
if ($this->isNested()) {
$this->associate($model);
return $this->parent->save();
......@@ -43,7 +41,9 @@ class EmbedsMany extends EmbedsOneOrMany {
$result = $this->getBaseQuery()->push($this->localKey, $model->getAttributes(), true);
// Attach the model to its parent.
if ($result) $this->associate($model);
if ($result) {
$this->associate($model);
}
return $result ? $model : false;
}
......@@ -57,8 +57,7 @@ class EmbedsMany extends EmbedsOneOrMany {
public function performUpdate(Model $model)
{
// For deeply nested documents, let the parent handle the changes.
if ($this->isNested())
{
if ($this->isNested()) {
$this->associate($model);
return $this->parent->save();
......@@ -75,7 +74,9 @@ class EmbedsMany extends EmbedsOneOrMany {
->update($values);
// Attach the model to its parent.
if ($result) $this->associate($model);
if ($result) {
$this->associate($model);
}
return $result ? $model : false;
}
......@@ -89,8 +90,7 @@ class EmbedsMany extends EmbedsOneOrMany {
public function performDelete(Model $model)
{
// For deeply nested documents, let the parent handle the changes.
if ($this->isNested())
{
if ($this->isNested()) {
$this->dissociate($model);
return $this->parent->save();
......@@ -101,7 +101,9 @@ class EmbedsMany extends EmbedsOneOrMany {
$result = $this->getBaseQuery()->pull($this->localKey, [$model->getKeyName() => $foreignKey]);
if ($result) $this->dissociate($model);
if ($result) {
$this->dissociate($model);
}
return $result;
}
......@@ -114,12 +116,9 @@ class EmbedsMany extends EmbedsOneOrMany {
*/
public function associate(Model $model)
{
if ( ! $this->contains($model))
{
if (! $this->contains($model)) {
return $this->associateNew($model);
}
else
{
} else {
return $this->associateExisting($model);
}
}
......@@ -139,10 +138,8 @@ class EmbedsMany extends EmbedsOneOrMany {
$primaryKey = $this->related->getKeyName();
// Remove the document from the parent model.
foreach ($records as $i => $record)
{
if (in_array($record[$primaryKey], $ids))
{
foreach ($records as $i => $record) {
if (in_array($record[$primaryKey], $ids)) {
unset($records[$i]);
}
}
......@@ -171,9 +168,10 @@ class EmbedsMany extends EmbedsOneOrMany {
$models = $this->getResults()->only($ids);
// Pull the documents from the database.
foreach ($models as $model)
{
if ($model->delete()) $count++;
foreach ($models as $model) {
if ($model->delete()) {
$count++;
}
}
return $count;
......@@ -189,7 +187,9 @@ class EmbedsMany extends EmbedsOneOrMany {
// Overwrite the local key with an empty array.
$result = $this->query->update([$this->localKey => []]);
if ($result) $this->setEmbedded([]);
if ($result) {
$this->setEmbedded([]);
}
return $result;
}
......@@ -225,8 +225,7 @@ class EmbedsMany extends EmbedsOneOrMany {
protected function associateNew($model)
{
// Create a new key if needed.
if ( ! $model->getAttribute('_id'))
{
if (! $model->getAttribute('_id')) {
$model->setAttribute('_id', new MongoId);
}
......@@ -254,10 +253,8 @@ class EmbedsMany extends EmbedsOneOrMany {
$key = $model->getKey();
// Replace the document in the parent model.
foreach ($records as &$record)
{
if ($record[$primaryKey] == $key)
{
foreach ($records as &$record) {
if ($record[$primaryKey] == $key) {
$record = $model->getAttributes();
break;
}
......@@ -306,7 +303,9 @@ class EmbedsMany extends EmbedsOneOrMany {
*/
protected function setEmbedded($models)
{
if ( ! is_array($models)) $models = [$models];
if (! is_array($models)) {
$models = [$models];
}
return parent::setEmbedded(array_values($models));
}
......@@ -321,12 +320,10 @@ class EmbedsMany extends EmbedsOneOrMany {
public function __call($method, $parameters)
{
// Collection methods
if (method_exists('Illuminate\Database\Eloquent\Collection', $method))
{
if (method_exists('Illuminate\Database\Eloquent\Collection', $method)) {
return call_user_func_array([$this->getResults(), $method], $parameters);
}
return parent::__call($method, $parameters);
}
}
......@@ -3,8 +3,8 @@
use Illuminate\Database\Eloquent\Model;
use MongoId;
class EmbedsOne extends EmbedsOneOrMany {
class EmbedsOne extends EmbedsOneOrMany
{
/**
* Get the results of the relationship.
*
......@@ -24,14 +24,12 @@ class EmbedsOne extends EmbedsOneOrMany {
public function performInsert(Model $model)
{
// Generate a new key if needed.
if ($model->getKeyName() == '_id' and ! $model->getKey())
{
if ($model->getKeyName() == '_id' and ! $model->getKey()) {
$model->setAttribute('_id', new MongoId);
}
// For deeply nested documents, let the parent handle the changes.
if ($this->isNested())
{
if ($this->isNested()) {
$this->associate($model);
return $this->parent->save();
......@@ -40,7 +38,9 @@ class EmbedsOne extends EmbedsOneOrMany {
$result = $this->getBaseQuery()->update([$this->localKey => $model->getAttributes()]);
// Attach the model to its parent.
if ($result) $this->associate($model);
if ($result) {
$this->associate($model);
}
return $result ? $model : false;
}
......@@ -53,8 +53,7 @@ class EmbedsOne extends EmbedsOneOrMany {
*/
public function performUpdate(Model $model)
{
if ($this->isNested())
{
if ($this->isNested()) {
$this->associate($model);
return $this->parent->save();
......@@ -66,7 +65,9 @@ class EmbedsOne extends EmbedsOneOrMany {
$result = $this->getBaseQuery()->update($values);
// Attach the model to its parent.
if ($result) $this->associate($model);
if ($result) {
$this->associate($model);
}
return $result ? $model : false;
}
......@@ -80,8 +81,7 @@ class EmbedsOne extends EmbedsOneOrMany {
public function performDelete(Model $model)
{
// For deeply nested documents, let the parent handle the changes.
if ($this->isNested())
{
if ($this->isNested()) {
$this->dissociate($model);
return $this->parent->save();
......@@ -91,7 +91,9 @@ class EmbedsOne extends EmbedsOneOrMany {
$result = $this->getBaseQuery()->update([$this->localKey => null]);
// Detach the model from its parent.
if ($result) $this->dissociate();
if ($result) {
$this->dissociate();
}
return $result;
}
......@@ -128,5 +130,4 @@ class EmbedsOne extends EmbedsOneOrMany {
return $this->performDelete($model);
}
}
......@@ -5,8 +5,8 @@ use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
abstract class EmbedsOneOrMany extends Relation {
abstract class EmbedsOneOrMany extends Relation
{
/**
* The local key of the parent model.
*
......@@ -48,8 +48,7 @@ abstract class EmbedsOneOrMany extends Relation {
$this->relation = $relation;
// If this is a nested relation, we need to get the parent query instead.
if ($parentRelation = $this->getParentRelation())
{
if ($parentRelation = $this->getParentRelation()) {
$this->query = $parentRelation->getQuery();
}
......@@ -61,8 +60,7 @@ abstract class EmbedsOneOrMany extends Relation {
*/
public function addConstraints()
{
if (static::$constraints)
{
if (static::$constraints) {
$this->query->where($this->getQualifiedParentKeyName(), '=', $this->getParentKey());
}
}
......@@ -85,8 +83,7 @@ abstract class EmbedsOneOrMany extends Relation {
*/
public function initRelation(array $models, $relation)
{
foreach ($models as $model)
{
foreach ($models as $model) {
$model->setParentRelation($this);
$model->setRelation($relation, $this->related->newCollection());
......@@ -105,8 +102,7 @@ abstract class EmbedsOneOrMany extends Relation {
*/
public function match(array $models, Collection $results, $relation)
{
foreach ($models as $model)
{
foreach ($models as $model) {
$results = $model->$relation()->getResults();
$model->setParentRelation($this);
......@@ -195,8 +191,7 @@ abstract class EmbedsOneOrMany extends Relation {
{
$instances = [];
foreach ($records as $record)
{
foreach ($records as $record) {
$instances[] = $this->create($record);
}
......@@ -211,16 +206,18 @@ abstract class EmbedsOneOrMany extends Relation {
*/
protected function getIdsArrayFrom($ids)
{
if ($ids instanceof \Illuminate\Support\Collection)
{
if ($ids instanceof \Illuminate\Support\Collection) {
$ids = $ids->all();
}
if ( ! is_array($ids)) $ids = [$ids];
if (! is_array($ids)) {
$ids = [$ids];
}
foreach ($ids as &$id)
{
if ($id instanceof Model) $id = $id->getKey();
foreach ($ids as &$id) {
if ($id instanceof Model) {
$id = $id->getKey();
}
}
return $ids;
......@@ -269,8 +266,7 @@ abstract class EmbedsOneOrMany extends Relation {
*/
protected function getForeignKeyValue($id)
{
if ($id instanceof Model)
{
if ($id instanceof Model) {
$id = $id->getKey();
}
......@@ -288,13 +284,11 @@ abstract class EmbedsOneOrMany extends Relation {
{
$models = [];
foreach ($records as $attributes)
{
foreach ($records as $attributes) {
$models[] = $this->toModel($attributes);
}
if (count($models) > 0)
{
if (count($models) > 0) {
$models = $this->eagerLoadRelations($models);
}
......@@ -309,7 +303,9 @@ abstract class EmbedsOneOrMany extends Relation {
*/
protected function toModel($attributes = [])
{
if (is_null($attributes)) return;
if (is_null($attributes)) {
return;
}
$model = $this->related->newFromBuilder((array) $attributes);
......@@ -375,8 +371,7 @@ abstract class EmbedsOneOrMany extends Relation {
*/
protected function getPathHierarchy($glue = '.')
{
if ($parentRelation = $this->getParentRelation())
{
if ($parentRelation = $this->getParentRelation()) {
return $parentRelation->getPathHierarchy($glue) . $glue . $this->localKey;
}
......@@ -390,8 +385,7 @@ abstract class EmbedsOneOrMany extends Relation {
*/
public function getQualifiedParentKeyName()
{
if ($parentRelation = $this->getParentRelation())
{
if ($parentRelation = $this->getParentRelation()) {
return $parentRelation->getPathHierarchy() . '.' . $this->parent->getKeyName();
}
......@@ -407,5 +401,4 @@ abstract class EmbedsOneOrMany extends Relation {
{
return $this->parent->getKey();
}
}
......@@ -3,8 +3,8 @@
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\HasMany as EloquentHasMany;
class HasMany extends EloquentHasMany {
class HasMany extends EloquentHasMany
{
/**
* Add the constraints for a relationship query.
*
......@@ -45,5 +45,4 @@ class HasMany extends EloquentHasMany {
{
return $this->getForeignKey();
}
}
......@@ -3,8 +3,8 @@
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\HasOne as EloquentHasOne;
class HasOne extends EloquentHasOne {
class HasOne extends EloquentHasOne
{
/**
* Add the constraints for a relationship query.
*
......@@ -45,5 +45,4 @@ class HasOne extends EloquentHasOne {
{
return $this->getForeignKey();
}
}
......@@ -2,15 +2,14 @@
use Illuminate\Database\Eloquent\Relations\MorphTo as EloquentMorphTo;
class MorphTo extends EloquentMorphTo {
class MorphTo extends EloquentMorphTo
{
/**
* Set the base constraints on the relation query.
*/
public function addConstraints()
{
if (static::$constraints)
{
if (static::$constraints) {
// For belongs to relationships, which are essentially the inverse of has one
// or has many relationships, we need to actually query on the primary key
// of the related models matching on the foreign key that's on a parent.
......@@ -36,5 +35,4 @@ class MorphTo extends EloquentMorphTo {
return $query->whereIn($key, $this->gatherKeysByType($type)->all())->get();
}
}
......@@ -3,8 +3,8 @@
use Closure;
use Illuminate\Database\Connection;
class Blueprint extends \Illuminate\Database\Schema\Blueprint {
class Blueprint extends \Illuminate\Database\Schema\Blueprint
{
/**
* The MongoConnection object for this blueprint.
*
......@@ -51,13 +51,11 @@ class Blueprint extends \Illuminate\Database\Schema\Blueprint {
$columns = $this->fluent($columns);
// Columns are passed as a default array.
if (is_array($columns) && is_int(key($columns)))
{
if (is_array($columns) && is_int(key($columns))) {
// Transform the columns to the required array format.
$transform = [];
foreach ($columns as $column)
{
foreach ($columns as $column) {
$transform[$column] = 1;
}
......@@ -92,13 +90,11 @@ class Blueprint extends \Illuminate\Database\Schema\Blueprint {
$columns = $this->fluent($columns);
// Columns are passed as a default array.
if (is_array($columns) && is_int(key($columns)))
{
if (is_array($columns) && is_int(key($columns))) {
// Transform the columns to the required array format.
$transform = [];
foreach ($columns as $column)
{
foreach ($columns as $column) {
$transform[$column] = 1;
}
......@@ -226,16 +222,11 @@ class Blueprint extends \Illuminate\Database\Schema\Blueprint {
*/
protected function fluent($columns = null)
{
if (is_null($columns))
{
if (is_null($columns)) {
return $this->columns;
}
elseif (is_string($columns))
{
} elseif (is_string($columns)) {
return $this->columns = [$columns];
}
else
{
} else {
return $this->columns = $columns;
}
}
......@@ -250,5 +241,4 @@ class Blueprint extends \Illuminate\Database\Schema\Blueprint {
// Dummy.
return $this;
}
}
......@@ -3,8 +3,8 @@
use Closure;
use Jenssegers\Mongodb\Connection;
class Builder extends \Illuminate\Database\Schema\Builder {
class Builder extends \Illuminate\Database\Schema\Builder
{
/**
* Create a new database Schema manager.
*
......@@ -73,8 +73,7 @@ class Builder extends \Illuminate\Database\Schema\Builder {
{
$blueprint = $this->createBlueprint($collection);
if ($callback)
{
if ($callback) {
$callback($blueprint);
}
}
......@@ -104,8 +103,7 @@ class Builder extends \Illuminate\Database\Schema\Builder {
$blueprint->create();
if ($callback)
{
if ($callback) {
$callback($blueprint);
}
}
......@@ -133,5 +131,4 @@ class Builder extends \Illuminate\Database\Schema\Builder {
{
return new Blueprint($this->connection, $collection);
}
}
......@@ -3,7 +3,8 @@
use Illuminate\Auth\Passwords\PasswordBroker;
use Illuminate\Foundation\Application;
class AuthTest extends TestCase {
class AuthTest extends TestCase
{
public function tearDown()
{
......@@ -25,8 +26,7 @@ class AuthTest extends TestCase {
public function testRemind()
{
if (Application::VERSION >= '5.2')
{
if (Application::VERSION >= '5.2') {
return;
}
......@@ -58,8 +58,7 @@ class AuthTest extends TestCase {
'token' => $reminder['token'],
];
$response = $broker->reset($credentials, function ($user, $password)
{
$response = $broker->reset($credentials, function ($user, $password) {
$user->password = bcrypt($password);
$user->save();
});
......@@ -67,5 +66,4 @@ class AuthTest extends TestCase {
$this->assertEquals('passwords.reset', $response);
$this->assertEquals(0, DB::collection('password_resets')->count());
}
}
<?php
class ConnectionTest extends TestCase {
class ConnectionTest extends TestCase
{
public function testConnection()
{
......@@ -129,5 +130,4 @@ class ConnectionTest extends TestCase {
$this->setExpectedException('MongoConnectionException', "Failed to connect to: " . $hosts[0] . ": Connection refused; Failed to connect to: " . $hosts[1] . ": Connection refused");
$connection = DB::connection('mongodb');
}
}
<?php
class EmbeddedRelationsTest extends TestCase {
class EmbeddedRelationsTest extends TestCase
{
public function tearDown()
{
......@@ -696,5 +697,4 @@ class EmbeddedRelationsTest extends TestCase {
$this->assertEquals(2, $results->count());
$this->assertEquals(3, $results->total());
}
}
<?php
class ModelTest extends TestCase {
class ModelTest extends TestCase
{
public function tearDown()
{
......@@ -331,7 +332,8 @@ class ModelTest extends TestCase {
$item = Item::create(['name' => 'fork', 'type' => 'sharp']);
$array = $item->toArray();
$keys = array_keys($array); sort($keys);
$keys = array_keys($array);
sort($keys);
$this->assertEquals(['_id', 'created_at', 'name', 'type', 'updated_at'], $keys);
$this->assertTrue(is_string($array['created_at']));
$this->assertTrue(is_string($array['updated_at']));
......@@ -449,27 +451,23 @@ class ModelTest extends TestCase {
User::create(['name' => 'Jane Doe', 'age' => 35]);
User::create(['name' => 'Harry Hoe', 'age' => 15]);
$users = User::raw(function ($collection)
{
$users = User::raw(function ($collection) {
return $collection->find(['age' => 35]);
});
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $users);
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $users[0]);
$user = User::raw(function ($collection)
{
$user = User::raw(function ($collection) {
return $collection->findOne(['age' => 35]);
});
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $user);
$count = User::raw(function ($collection)
{
$count = User::raw(function ($collection) {
return $collection->count();
});
$this->assertEquals(3, $count);
$result = User::raw(function ($collection)
{
$result = User::raw(function ($collection) {
return $collection->insert(['name' => 'Yvonne Yoe', 'age' => 35]);
});
$this->assertTrue(is_array($result));
......@@ -499,5 +497,4 @@ class ModelTest extends TestCase {
$user->birthday = new DateTime('19 august 1989');
$this->assertEmpty($user->getDirty());
}
}
<?php
class MysqlRelationsTest extends TestCase {
class MysqlRelationsTest extends TestCase
{
public function setUp()
{
......
<?php
class QueryBuilderTest extends TestCase {
class QueryBuilderTest extends TestCase
{
public function tearDown()
{
......@@ -179,8 +180,7 @@ class QueryBuilderTest extends TestCase {
['name' => 'John Doe', 'age' => 25],
]);
$cursor = DB::collection('users')->raw(function ($collection)
{
$cursor = DB::collection('users')->raw(function ($collection) {
return $collection->find(['age' => 20]);
});
......@@ -286,11 +286,13 @@ class QueryBuilderTest extends TestCase {
['name' => 'spoon', 'type' => 'round'],
]);
$items = DB::collection('items')->distinct('name')->get(); sort($items);
$items = DB::collection('items')->distinct('name')->get();
sort($items);
$this->assertEquals(3, count($items));
$this->assertEquals(['fork', 'knife', 'spoon'], $items);
$types = DB::collection('items')->distinct('type')->get(); sort($types);
$types = DB::collection('items')->distinct('type')->get();
sort($types);
$this->assertEquals(2, count($types));
$this->assertEquals(['round', 'sharp'], $types);
}
......@@ -635,10 +637,8 @@ class QueryBuilderTest extends TestCase {
$results = DB::collection('items')->project(['tags' => ['$slice' => 1]])->get();
foreach ($results as $result)
{
foreach ($results as $result) {
$this->assertEquals(1, count($result['tags']));
}
}
}
<?php
class QueryTest extends TestCase {
class QueryTest extends TestCase
{
protected static $started = false;
......@@ -214,8 +215,7 @@ class QueryTest extends TestCase {
public function testSubquery()
{
$users = User::where('title', 'admin')->orWhere(function ($query)
{
$users = User::where('title', 'admin')->orWhere(function ($query) {
$query->where('name', 'Tommy Toe')
->orWhere('name', 'Error');
})
......@@ -223,8 +223,7 @@ class QueryTest extends TestCase {
$this->assertEquals(5, count($users));
$users = User::where('title', 'user')->where(function ($query)
{
$users = User::where('title', 'user')->where(function ($query) {
$query->where('age', 35)
->orWhere('name', 'like', '%harry%');
})
......@@ -232,8 +231,7 @@ class QueryTest extends TestCase {
$this->assertEquals(2, count($users));
$users = User::where('age', 35)->orWhere(function ($query)
{
$users = User::where('age', 35)->orWhere(function ($query) {
$query->where('title', 'admin')
->orWhere('name', 'Error');
})
......@@ -243,8 +241,7 @@ class QueryTest extends TestCase {
$users = User::whereNull('deleted_at')
->where('title', 'admin')
->where(function ($query)
{
->where(function ($query) {
$query->where('age', '>', 15)
->orWhere('name', 'Harry Hoe');
})
......@@ -253,11 +250,9 @@ class QueryTest extends TestCase {
$this->assertEquals(3, $users->count());
$users = User::whereNull('deleted_at')
->where(function ($query)
{
->where(function ($query) {
$query->where('name', 'Harry Hoe')
->orWhere(function ($query)
{
->orWhere(function ($query) {
$query->where('age', '>', 15)
->where('title', '<>', 'admin');
});
......@@ -283,23 +278,19 @@ class QueryTest extends TestCase {
public function testMultipleOr()
{
$users = User::where(function ($query)
{
$users = User::where(function ($query) {
$query->where('age', 35)->orWhere('age', 33);
})
->where(function ($query)
{
->where(function ($query) {
$query->where('name', 'John Doe')->orWhere('name', 'Jane Doe');
})->get();
$this->assertEquals(2, count($users));
$users = User::where(function ($query)
{
$users = User::where(function ($query) {
$query->orWhere('age', 35)->orWhere('age', 33);
})
->where(function ($query)
{
->where(function ($query) {
$query->orWhere('name', 'John Doe')->orWhere('name', 'Jane Doe');
})->get();
......@@ -319,5 +310,4 @@ class QueryTest extends TestCase {
$this->assertEquals(9, $results->total());
$this->assertEquals(1, $results->currentPage());
}
}
<?php
class RelationsTest extends TestCase {
class RelationsTest extends TestCase
{
public function tearDown()
{
......@@ -410,15 +411,13 @@ class RelationsTest extends TestCase {
$authors = User::has('books', '!=', 0)->get();
$this->assertCount(2, $authors);
$authors = User::whereHas('books', function ($query)
{
$authors = User::whereHas('books', function ($query) {
$query->where('rating', 5);
})->get();
$this->assertCount(1, $authors);
$authors = User::whereHas('books', function ($query)
{
$authors = User::whereHas('books', function ($query) {
$query->where('rating', '<', 5);
})->get();
......@@ -521,5 +520,4 @@ class RelationsTest extends TestCase {
$this->assertEquals([$user->_id], $client->user_ids);
$this->assertEquals([$client->_id], $user->client_ids);
}
}
<?php
class SchemaTest extends TestCase {
class SchemaTest extends TestCase
{
public function tearDown()
{
......@@ -18,8 +19,7 @@ class SchemaTest extends TestCase {
{
$instance = $this;
Schema::create('newcollection', function ($collection) use ($instance)
{
Schema::create('newcollection', function ($collection) use ($instance) {
$instance->assertInstanceOf('Jenssegers\Mongodb\Schema\Blueprint', $collection);
});
......@@ -37,37 +37,32 @@ class SchemaTest extends TestCase {
{
$instance = $this;
Schema::collection('newcollection', function ($collection) use ($instance)
{
Schema::collection('newcollection', function ($collection) use ($instance) {
$instance->assertInstanceOf('Jenssegers\Mongodb\Schema\Blueprint', $collection);
});
Schema::table('newcollection', function ($collection) use ($instance)
{
Schema::table('newcollection', function ($collection) use ($instance) {
$instance->assertInstanceOf('Jenssegers\Mongodb\Schema\Blueprint', $collection);
});
}
public function testIndex()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->index('mykey1');
});
$index = $this->getIndex('newcollection', 'mykey1');
$this->assertEquals(1, $index['key']['mykey1']);
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->index(['mykey2']);
});
$index = $this->getIndex('newcollection', 'mykey2');
$this->assertEquals(1, $index['key']['mykey2']);
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->string('mykey3')->index();
});
......@@ -77,8 +72,7 @@ class SchemaTest extends TestCase {
public function testPrimary()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->string('mykey', 100)->primary();
});
......@@ -88,8 +82,7 @@ class SchemaTest extends TestCase {
public function testUnique()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->unique('uniquekey');
});
......@@ -99,8 +92,7 @@ class SchemaTest extends TestCase {
public function testDropIndex()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->unique('uniquekey');
$collection->dropIndex('uniquekey');
});
......@@ -108,8 +100,7 @@ class SchemaTest extends TestCase {
$index = $this->getIndex('newcollection', 'uniquekey');
$this->assertEquals(null, $index);
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->unique('uniquekey');
$collection->dropIndex(['uniquekey']);
});
......@@ -120,8 +111,7 @@ class SchemaTest extends TestCase {
public function testBackground()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->background('backgroundkey');
});
......@@ -131,8 +121,7 @@ class SchemaTest extends TestCase {
public function testSparse()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->sparse('sparsekey');
});
......@@ -142,8 +131,7 @@ class SchemaTest extends TestCase {
public function testExpire()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->expire('expirekey', 60);
});
......@@ -153,13 +141,11 @@ class SchemaTest extends TestCase {
public function testSoftDeletes()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->softDeletes();
});
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->string('email')->nullable()->index();
});
......@@ -169,8 +155,7 @@ class SchemaTest extends TestCase {
public function testFluent()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->string('email')->index();
$collection->string('token')->index();
$collection->timestamp('created_at');
......@@ -185,8 +170,7 @@ class SchemaTest extends TestCase {
public function testDummies()
{
Schema::collection('newcollection', function ($collection)
{
Schema::collection('newcollection', function ($collection) {
$collection->boolean('activated')->default(0);
$collection->integer('user_id')->unsigned();
});
......@@ -196,12 +180,12 @@ class SchemaTest extends TestCase {
{
$collection = DB::getCollection($collection);
foreach ($collection->getIndexInfo() as $index)
{
if (isset($index['key'][$name])) return $index;
foreach ($collection->getIndexInfo() as $index) {
if (isset($index['key'][$name])) {
return $index;
}
}
return false;
}
}
<?php
class SeederTest extends TestCase {
class SeederTest extends TestCase
{
public function tearDown()
{
......@@ -23,5 +24,4 @@ class SeederTest extends TestCase {
$user = User::where('name', 'John Doe')->first();
$this->assertTrue($user->seed);
}
}
<?php
class TestCase extends Orchestra\Testbench\TestCase {
class TestCase extends Orchestra\Testbench\TestCase
{
/**
* Get package providers.
*
......@@ -37,5 +37,4 @@ class TestCase extends Orchestra\Testbench\TestCase {
$app['config']->set('auth.providers.users.model', 'User');
$app['config']->set('cache.driver', 'array');
}
}
<?php
class ValidationTest extends TestCase {
class ValidationTest extends TestCase
{
public function tearDown()
{
......@@ -23,5 +24,4 @@ class ValidationTest extends TestCase {
);
$this->assertTrue($validator->fails());
}
}
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Address extends Eloquent {
class Address extends Eloquent
{
protected static $unguarded = true;
......@@ -10,5 +11,4 @@ class Address extends Eloquent {
{
return $this->embedsMany('Address');
}
}
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Book extends Eloquent {
class Book extends Eloquent
{
protected $collection = 'books';
protected static $unguarded = true;
......
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Client extends Eloquent {
class Client extends Eloquent
{
protected $collection = 'clients';
protected static $unguarded = true;
......
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Group extends Eloquent {
class Group extends Eloquent
{
protected $collection = 'groups';
protected static $unguarded = true;
......
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Item extends Eloquent {
class Item extends Eloquent
{
protected $collection = 'items';
protected static $unguarded = true;
......@@ -16,5 +17,4 @@ class Item extends Eloquent {
{
return $query->where('type', 'sharp');
}
}
......@@ -3,7 +3,8 @@
use \Illuminate\Support\Facades\Schema;
use Jenssegers\Eloquent\Model as Eloquent;
class MysqlBook extends Eloquent {
class MysqlBook extends Eloquent
{
protected $connection = 'mysql';
protected $table = 'books';
......@@ -23,15 +24,12 @@ class MysqlBook extends Eloquent {
{
$schema = Schema::connection('mysql');
if (!$schema->hasTable('books'))
{
Schema::connection('mysql')->create('books', function ($table)
{
if (!$schema->hasTable('books')) {
Schema::connection('mysql')->create('books', function ($table) {
$table->string('title');
$table->string('author_id');
$table->timestamps();
});
}
}
}
......@@ -3,7 +3,8 @@
use \Illuminate\Support\Facades\Schema;
use Jenssegers\Eloquent\Model as Eloquent;
class MysqlRole extends Eloquent {
class MysqlRole extends Eloquent
{
protected $connection = 'mysql';
protected $table = 'roles';
......@@ -27,15 +28,12 @@ class MysqlRole extends Eloquent {
{
$schema = Schema::connection('mysql');
if (!$schema->hasTable('roles'))
{
Schema::connection('mysql')->create('roles', function ($table)
{
if (!$schema->hasTable('roles')) {
Schema::connection('mysql')->create('roles', function ($table) {
$table->string('type');
$table->string('user_id');
$table->timestamps();
});
}
}
}
......@@ -3,7 +3,8 @@
use \Illuminate\Support\Facades\Schema;
use Jenssegers\Eloquent\Model as Eloquent;
class MysqlUser extends Eloquent {
class MysqlUser extends Eloquent
{
protected $connection = 'mysql';
protected $table = 'users';
......@@ -27,15 +28,12 @@ class MysqlUser extends Eloquent {
{
$schema = Schema::connection('mysql');
if (!$schema->hasTable('users'))
{
Schema::connection('mysql')->create('users', function ($table)
{
if (!$schema->hasTable('users')) {
Schema::connection('mysql')->create('users', function ($table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
}
}
}
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Photo extends Eloquent {
class Photo extends Eloquent
{
protected $collection = 'photos';
protected static $unguarded = true;
......@@ -11,5 +12,4 @@ class Photo extends Eloquent {
{
return $this->morphTo();
}
}
......@@ -2,7 +2,8 @@
use Jenssegers\Mongodb\Model as Eloquent;
class Role extends Eloquent {
class Role extends Eloquent
{
protected $collection = 'roles';
protected static $unguarded = true;
......@@ -16,5 +17,4 @@ class Role extends Eloquent {
{
return $this->belongsTo('MysqlUser');
}
}
......@@ -3,12 +3,12 @@
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\SoftDeletes;
class Soft extends Eloquent {
class Soft extends Eloquent
{
use SoftDeletes;
protected $collection = 'soft';
protected static $unguarded = true;
protected $dates = ['deleted_at'];
}
......@@ -6,7 +6,8 @@ use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Eloquent implements AuthenticatableContract, CanResetPasswordContract {
class User extends Eloquent implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword;
......
......@@ -2,8 +2,8 @@
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder {
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
......
......@@ -3,7 +3,8 @@
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UserTableSeeder extends Seeder {
class UserTableSeeder extends Seeder
{
public function run()
{
......
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