Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
laravel-mongodb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sinan
laravel-mongodb
Commits
e2bc57c3
Commit
e2bc57c3
authored
May 25, 2015
by
Jens Segers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge #383
parent
e0a3cda2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
12 deletions
+19
-12
Model.php
src/Jenssegers/Mongodb/Model.php
+19
-12
No files found.
src/Jenssegers/Mongodb/Model.php
View file @
e2bc57c3
...
...
@@ -4,6 +4,7 @@ use DateTime;
use
MongoId
;
use
MongoDate
;
use
Carbon\Carbon
;
use
ReflectionMethod
;
use
Illuminate\Database\Eloquent\Relations\Relation
;
use
Jenssegers\Mongodb\Eloquent\Builder
;
use
Jenssegers\Mongodb\Relations\EmbedsOneOrMany
;
...
...
@@ -233,22 +234,28 @@ abstract class Model extends \Jenssegers\Eloquent\Model {
// is handled by the parent method.
if
(
method_exists
(
$this
,
$camelKey
))
{
$
relations
=
$this
->
$camelKey
(
);
$
method
=
new
ReflectionMethod
(
get_called_class
(),
$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
)
// Ensure the method is not static to avoid conflicting with Eloquent methods.
if
(
!
$method
->
isStatic
())
{
// 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
))
$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
)
{
return
$this
->
relations
[
$key
];
// 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
))
{
return
$this
->
relations
[
$key
];
}
// Get the relation results.
return
$this
->
getRelationshipFromMethod
(
$key
,
$camelKey
);
}
// Get the relation results.
return
$this
->
getRelationshipFromMethod
(
$key
,
$camelKey
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment