Laravel Eloquent - Why take(n) works but limit(n) doesn't?
According to laravel docs, take() is just an alias to the limit().
Why doesn't query no 4 doesn't work while other work just fine.
1. $employee->take(2)->get(); // Works
2. $employee->limit(2)->get(); // Works
3. $employee->get()->take(2); // Works
4. $employee->get()->limit(2) // Gives Error; Method Illuminate/Database/Eloquent/Collection::limit does not exist.
php laravel eloquent
add a comment |
According to laravel docs, take() is just an alias to the limit().
Why doesn't query no 4 doesn't work while other work just fine.
1. $employee->take(2)->get(); // Works
2. $employee->limit(2)->get(); // Works
3. $employee->get()->take(2); // Works
4. $employee->get()->limit(2) // Gives Error; Method Illuminate/Database/Eloquent/Collection::limit does not exist.
php laravel eloquent
add a comment |
According to laravel docs, take() is just an alias to the limit().
Why doesn't query no 4 doesn't work while other work just fine.
1. $employee->take(2)->get(); // Works
2. $employee->limit(2)->get(); // Works
3. $employee->get()->take(2); // Works
4. $employee->get()->limit(2) // Gives Error; Method Illuminate/Database/Eloquent/Collection::limit does not exist.
php laravel eloquent
According to laravel docs, take() is just an alias to the limit().
Why doesn't query no 4 doesn't work while other work just fine.
1. $employee->take(2)->get(); // Works
2. $employee->limit(2)->get(); // Works
3. $employee->get()->take(2); // Works
4. $employee->get()->limit(2) // Gives Error; Method Illuminate/Database/Eloquent/Collection::limit does not exist.
php laravel eloquent
php laravel eloquent
asked Nov 20 '18 at 11:29
TintinTintin
307
307
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
When you call get
, your database query has been executed, so the result is an IlluminateSupportCollection
and when you call limit
on Collection
it throws an error because Collection
class does not have a limit
function.
limit
and take
are both executed on your database query as they are both functions of IlluminateDatabaseQueryBuilder
and IlluminateDatabaseEloquentBuilder
also, not on the Collection
.
Notice: the Third statement works because IlluminateSupportCollection
has a take
function also.
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
@Tintin Yes bothEloquent
andQuery Builder
has bothtake && limit
functions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollection
has atake
function also :-)
– ako
Nov 20 '18 at 11:47
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
|
show 1 more comment
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53392057%2flaravel-eloquent-why-taken-works-but-limitn-doesnt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
When you call get
, your database query has been executed, so the result is an IlluminateSupportCollection
and when you call limit
on Collection
it throws an error because Collection
class does not have a limit
function.
limit
and take
are both executed on your database query as they are both functions of IlluminateDatabaseQueryBuilder
and IlluminateDatabaseEloquentBuilder
also, not on the Collection
.
Notice: the Third statement works because IlluminateSupportCollection
has a take
function also.
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
@Tintin Yes bothEloquent
andQuery Builder
has bothtake && limit
functions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollection
has atake
function also :-)
– ako
Nov 20 '18 at 11:47
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
|
show 1 more comment
When you call get
, your database query has been executed, so the result is an IlluminateSupportCollection
and when you call limit
on Collection
it throws an error because Collection
class does not have a limit
function.
limit
and take
are both executed on your database query as they are both functions of IlluminateDatabaseQueryBuilder
and IlluminateDatabaseEloquentBuilder
also, not on the Collection
.
Notice: the Third statement works because IlluminateSupportCollection
has a take
function also.
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
@Tintin Yes bothEloquent
andQuery Builder
has bothtake && limit
functions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollection
has atake
function also :-)
– ako
Nov 20 '18 at 11:47
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
|
show 1 more comment
When you call get
, your database query has been executed, so the result is an IlluminateSupportCollection
and when you call limit
on Collection
it throws an error because Collection
class does not have a limit
function.
limit
and take
are both executed on your database query as they are both functions of IlluminateDatabaseQueryBuilder
and IlluminateDatabaseEloquentBuilder
also, not on the Collection
.
Notice: the Third statement works because IlluminateSupportCollection
has a take
function also.
When you call get
, your database query has been executed, so the result is an IlluminateSupportCollection
and when you call limit
on Collection
it throws an error because Collection
class does not have a limit
function.
limit
and take
are both executed on your database query as they are both functions of IlluminateDatabaseQueryBuilder
and IlluminateDatabaseEloquentBuilder
also, not on the Collection
.
Notice: the Third statement works because IlluminateSupportCollection
has a take
function also.
edited Nov 20 '18 at 11:52
answered Nov 20 '18 at 11:35
akoako
7711221
7711221
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
@Tintin Yes bothEloquent
andQuery Builder
has bothtake && limit
functions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollection
has atake
function also :-)
– ako
Nov 20 '18 at 11:47
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
|
show 1 more comment
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
@Tintin Yes bothEloquent
andQuery Builder
has bothtake && limit
functions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollection
has atake
function also :-)
– ako
Nov 20 '18 at 11:47
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
@Tintin Answer has been imporved(edited).
– ako
Nov 20 '18 at 11:44
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
then why does the 3rd method works ?
– Tintin
Nov 20 '18 at 11:46
@Tintin Yes both
Eloquent
and Query Builder
has both take && limit
functions.– ako
Nov 20 '18 at 11:46
@Tintin Yes both
Eloquent
and Query Builder
has both take && limit
functions.– ako
Nov 20 '18 at 11:46
@Tintin Because
IlluminateSupportCollection
has a take
function also :-)– ako
Nov 20 '18 at 11:47
@Tintin Because
IlluminateSupportCollection
has a take
function also :-)– ako
Nov 20 '18 at 11:47
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
@ok just went through the documents and it appear eloquent collection has it's own take method.
– Tintin
Nov 20 '18 at 11:48
|
show 1 more comment
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53392057%2flaravel-eloquent-why-taken-works-but-limitn-doesnt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown