Commit 2ae9c4d5 authored by Jens Segers's avatar Jens Segers

Also introduce Jenssegers\Mongodb\Eloquent\Model class for 2.2

parent cc6dd6cb
......@@ -106,7 +106,7 @@ Eloquent
This package includes a MongoDB enabled Eloquent class that you can use to define models for corresponding collections.
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {}
```
......@@ -114,7 +114,7 @@ class User extends Eloquent {}
Note that we did not tell Eloquent which collection to use for the `User` model. Just like the original Eloquent, the lower-case, plural name of the class will be used as the table name unless another name is explicitly specified. You may specify a custom collection (alias for table) by defining a `collection` property on your model:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {
......@@ -126,7 +126,7 @@ class User extends Eloquent {
**NOTE:** Eloquent will also assume that each collection has a primary key column named id. You may define a `primaryKey` property to override this convention. Likewise, you may define a `connection` property to override the name of the database connection that should be used when utilizing the model.
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class MyModel extends Eloquent {
......@@ -142,7 +142,7 @@ Everything else works just like the original Eloquent model. Read more about the
You may also register an alias for the MongoDB model by adding the following to the alias array in `app/config/app.php`:
```php
'Moloquent' => 'Jenssegers\Mongodb\Model',
'Moloquent' => 'Jenssegers\Mongodb\Eloquent\Model',
```
This will allow you to use the registered alias like:
......@@ -232,10 +232,10 @@ MongoDB Support => enabled
#### Argument 2 passed to Illuminate\Database\Query\Builder::__construct() must be an instance of Illuminate\Database\Query\Grammars\Grammar, null given
To solve this, you will need to check two things. First check if your model is extending the correct class; this class should be `Jenssegers\Mongodb\Model`. Secondly, check if your model is using a MongoDB connection. If you did not change the default database connection in your database configuration file, you need to specify the MongoDB enabled connection. This is what your class should look like if you did not set up an alias and change the default database connection:
To solve this, you will need to check two things. First check if your model is extending the correct class; this class should be `Jenssegers\Mongodb\Eloquent\Model`. Secondly, check if your model is using a MongoDB connection. If you did not change the default database connection in your database configuration file, you need to specify the MongoDB enabled connection. This is what your class should look like if you did not set up an alias and change the default database connection:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {
......@@ -530,7 +530,7 @@ Eloquent allows you to work with Carbon/DateTime objects instead of MongoDate ob
Example:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {
......@@ -557,7 +557,7 @@ Supported relations are:
Example:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {
......@@ -572,7 +572,7 @@ class User extends Eloquent {
And the inverse relation:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Item extends Eloquent {
......@@ -587,7 +587,7 @@ class Item extends Eloquent {
The belongsToMany relation will not use a pivot "table", but will push id's to a __related_ids__ attribute instead. This makes the second parameter for the belongsToMany method useless. If you want to define custom keys for your relation, set it to `null`:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {
......@@ -607,7 +607,7 @@ Other relations are not yet supported, but may be added in the future. Read more
If you want to embed models, rather than referencing them, you can use the `embedsMany` relation. This relation is similar to the `hasMany` relation, but embeds the models inside the parent object.
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {
......@@ -702,7 +702,7 @@ $books = $user->books()->where('rating', '>', 5)->orderBy('title')->get();
The embedsOne relation is similar to the EmbedsMany relation, but only embeds a single model.
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Book extends Eloquent {
......@@ -772,7 +772,7 @@ class User extends Eloquent {
And the Mongodb-based Message model:
```php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Message extends Eloquent {
......
......@@ -3,7 +3,7 @@
use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\Relations\MorphOne;
use Illuminate\Support\Str;
use Jenssegers\Mongodb\Model;
use Jenssegers\Mongodb\Eloquent\Model;
use Jenssegers\Mongodb\Relations\BelongsTo;
use Jenssegers\Mongodb\Relations\BelongsToMany;
use Jenssegers\Mongodb\Relations\HasMany;
......@@ -23,7 +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\Eloquent\Model'))
{
return parent::hasOne($related, $foreignKey, $localKey);
}
......@@ -50,7 +50,7 @@ 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'))
if (! is_subclass_of($related, 'Jenssegers\Mongodb\Eloquent\Model'))
{
return parent::morphOne($related, $name, $type, $id, $localKey );
}
......@@ -77,7 +77,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\Eloquent\Model'))
{
return parent::hasMany($related, $foreignKey, $localKey);
}
......@@ -104,7 +104,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\Eloquent\Model'))
{
return parent::morphMany($related, $name, $type, $id, $localKey);
}
......@@ -145,7 +145,7 @@ trait HybridRelations {
}
// 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\Eloquent\Model'))
{
return parent::belongsTo($related, $foreignKey, $otherKey, $relation);
}
......@@ -238,7 +238,7 @@ trait HybridRelations {
}
// 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\Eloquent\Model'))
{
return parent::belongsToMany($related, $collection, $foreignKey, $otherKey, $relation);
}
......
This diff is collapsed.
This diff is collapsed.
......@@ -13,7 +13,7 @@ class ModelTest extends TestCase {
public function testNewModel()
{
$user = new User;
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $user);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $user);
$this->assertInstanceOf('Jenssegers\Mongodb\Connection', $user->getConnection());
$this->assertEquals(false, $user->exists);
$this->assertEquals('users', $user->getTable());
......@@ -170,7 +170,7 @@ class ModelTest extends TestCase {
$check = User::find($user->_id);
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $check);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $check);
$this->assertEquals(true, $check->exists);
$this->assertEquals($user->_id, $check->_id);
......@@ -188,7 +188,7 @@ class ModelTest extends TestCase {
$users = User::get();
$this->assertEquals(2, count($users));
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $users);
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $users[0]);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $users[0]);
}
public function testFirst()
......@@ -199,7 +199,7 @@ class ModelTest extends TestCase {
]);
$user = User::first();
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $user);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $user);
$this->assertEquals('John Doe', $user->name);
}
......@@ -226,7 +226,7 @@ class ModelTest extends TestCase {
{
$user = User::create(['name' => 'Jane Poe']);
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $user);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $user);
$this->assertEquals(true, $user->exists);
$this->assertEquals('Jane Poe', $user->name);
......@@ -454,13 +454,13 @@ class ModelTest extends TestCase {
return $collection->find(['age' => 35]);
});
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $users);
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $users[0]);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $users[0]);
$user = User::raw(function ($collection)
{
return $collection->findOne(['age' => 35]);
});
$this->assertInstanceOf('Jenssegers\Mongodb\Model', $user);
$this->assertInstanceOf('Jenssegers\Mongodb\Eloquent\Model', $user);
$count = User::raw(function ($collection)
{
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Address extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Book extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Client extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Group extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Item extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Photo extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class Role extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\SoftDeletes;
class Soft extends Eloquent {
......
<?php
use Jenssegers\Mongodb\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
......
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