Laravel Eloquent - Why take(n) works but limit(n) doesn't?












0















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.









share|improve this question



























    0















    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.









    share|improve this question

























      0












      0








      0








      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.









      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 20 '18 at 11:29









      TintinTintin

      307




      307
























          1 Answer
          1






          active

          oldest

          votes


















          6














          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.






          share|improve this answer


























          • @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 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











          • @ok just went through the documents and it appear eloquent collection has it's own take method.

            – Tintin
            Nov 20 '18 at 11:48











          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
          });


          }
          });














          draft saved

          draft discarded


















          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









          6














          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.






          share|improve this answer


























          • @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 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











          • @ok just went through the documents and it appear eloquent collection has it's own take method.

            – Tintin
            Nov 20 '18 at 11:48
















          6














          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.






          share|improve this answer


























          • @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 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











          • @ok just went through the documents and it appear eloquent collection has it's own take method.

            – Tintin
            Nov 20 '18 at 11:48














          6












          6








          6







          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.






          share|improve this answer















          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.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          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 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











          • @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











          • 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 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

















          @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


















          draft saved

          draft discarded




















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          android studio warns about leanback feature tag usage required on manifest while using Unity exported app?

          SQL update select statement

          'app-layout' is not a known element: how to share Component with different Modules