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 bothEloquentandQuery Builderhas bothtake && limitfunctions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollectionhas atakefunction 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 bothEloquentandQuery Builderhas bothtake && limitfunctions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollectionhas atakefunction 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 bothEloquentandQuery Builderhas bothtake && limitfunctions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollectionhas atakefunction 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 bothEloquentandQuery Builderhas bothtake && limitfunctions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollectionhas atakefunction 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 bothEloquentandQuery Builderhas bothtake && limitfunctions.
– ako
Nov 20 '18 at 11:46
@Tintin BecauseIlluminateSupportCollectionhas atakefunction 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
