Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

laracasts9924's avatar

Order By Query not being displayed correctly on view

So I have an order by query that is in the correct order when I dd. But on my view, when I loop through results, it is displaying order by ID and NOT using my Query Order.

$pages = DB::table('pages')->orderBy('order_list', 'asc')->get(); 

so on dd it is in the correct order by 'order_list'. Order List is a DB column int(10) value. So my pages can be order by this order_list value and NOT the ID. so pages have order_list values of for example 1 2 3.

here is my blade code:

 @foreach($pages as $page)
      <tr class="row1" data-id="{{ $page->id }}">
       <td><img src="{{URL::asset('/img/draggable-icon.png')}}" width="30px" /> </td>
       <td>{{ $page->page_title }}</td>
        <td>{{ $page->page_url }}</td>
       <td><a href="{{ url('/pages/') }}/{{ $page->page_url }}" class="btn btn-info bt-sm">View</a></td>
        <td><a href="/admin/pages/{{ $page->id }}/edit" class="btn btn-warning bt-sm">Edit</a></td>
       <td>
       <div class="form-group">
       <form class="form" role="form" method="POST" action="{{ url('/admin/pages/' . $page->id) }}">
       <input type="hidden" name="_method" value="delete">
        {{ csrf_field() }}
       <input class="btn btn-danger" Onclick="return ConfirmDelete();" type="submit" value="Delete">
        </form>
       </div>
       </td>
       </tr>
 @endforeach 

Any one have ideas on WHY my view is not displaying my order by query correctly?

0 likes
6 replies
Norbertho's avatar

try like this:

$pages = DB::table('pages')->get()->sortBy('order_list'); 

munazzil's avatar

Can you try your controller below code and display result ?

dd($pages);
laracasts9924's avatar

@norbertho I tried your code snippet. dd displays correct order but view still does not.

@munazzil

here is my dd dump from this code snippet:

$pages = DB::table('pages')->get()->sortBy('order_list');

dd dump copied:

#items: array:4 [▼
    1 => {#733 ▼
      +"id": 2
      +"page_title": "About"
      +"page_content": """
        <h2 style="text-align: center;">Procurement Information</h2>
        <p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">The Trinity Metro Procurement Department is ▶
        <p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">&nbsp;</p>
        <ul style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">
        <li>Purchasing supplies and services for operations of Trinity Metro;</li>
        <li>Issugin solications and contracts for procurement by Trinity Metro; and&nbsp;</li>
        <li>Disposing of surplus supplies.</li>
        </ul>
        <p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">&nbsp;</p>
        <p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">Business hours are 8:00 a.m. to 5:00 p.m.,  ▶
        <p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">The Trinity Metro Contract Administration a ▶
        <h2 style="text-align: center;">Unsolicited Proposals</h2>
        <p>&nbsp;</p>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        <h2 style="text-align: center;"><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Ethics Policy</span></h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        <h2 style="text-align: center;"><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Procurement &amp; Contracts Staff</span></h2>\r\ ▶
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        <p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; text-align: start;">&nbsp;</p>
        """
      +"page_url": "about"
      +"order_list": 1
      +"created_at": "2019-02-12 02:00:13"
      +"updated_at": "2019-02-19 17:58:17"
    }
    0 => {#732 ▼
      +"id": 1
      +"page_title": "Policy & Forms"
      +"page_content": """
        <h1 style="margin: 0px 0px 15px; padding: 0px; font-family: 'Open Sans', Arial, sans-serif; text-align: center;">Standard Contract Terms &amp; Conditions</h1>\r ▶
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Lorem ipsum dolor sit amet, consectetur adipisc ▶
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Quisque ut eleifend massa. Ut dapibus suscipit  ▶
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Maecenas egestas, est faucibus vulputate condim ▶
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">&nbsp;</p>
        <table style="border-collapse: collapse; width: 100%; height: 54px;" border="1">
        <tbody>
        <tr style="height: 18px;">
        <td style="width: 33.3333%; height: 18px;">Name</td>
        <td style="width: 33.3333%; height: 18px;">Company</td>
        <td style="width: 33.3333%; height: 18px;">Type</td>
        </tr>
        <tr style="height: 18px;">
        <td style="width: 33.3333%; height: 18px;">Tony Romo</td>
        <td style="width: 33.3333%; height: 18px;">NFL</td>
        <td style="width: 33.3333%; height: 18px;">Broadcasting</td>
        </tr>
        <tr style="height: 18px;">
        <td style="width: 33.3333%; height: 18px;">Dak Prescott</td>
        <td style="width: 33.3333%; height: 18px;">Cowboys</td>
        <td style="width: 33.3333%; height: 18px;">Sports</td>
        </tr>
        </tbody>
        </table>
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">&nbsp;</p>
        <h2 style="margin: 0px 0px 15px; padding: 0px; font-family: 'Open Sans', Arial, sans-serif; text-align: center;">Policy</h2>
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Proin mattis, eros sed pellentesque tincidunt,  ▶
        <p style="margin: 0px 0px 15px; padding: 0px; text-align: justify; font-family: 'Open Sans', Arial, sans-serif;">Sed pharetra ultrices velit, id euismod elit co ▶
        <h2 style="margin: 0px 0px 15px; padding: 0px; font-family: 'Open Sans', Arial, sans-serif; text-align: center;">Forms available for download</h2>
        <p>&nbsp;</p>
        """
      +"page_url": "policy-forms"
      +"order_list": 2
      +"created_at": "2019-01-28 15:58:07"
      +"updated_at": "2019-02-19 18:02:10"
    }
    2 => {#734 ▼
      +"id": 3
      +"page_title": "FAQs"
      +"page_content": """
        <h2 style="text-align: center;"><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">FAQs</span></h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        """
      +"page_url": "faqs"
      +"order_list": 3
      +"created_at": "2019-02-19 17:59:31"
      +"updated_at": "2019-02-19 17:59:31"
    }
    3 => {#735 ▼
      +"id": 4
      +"page_title": "DBE Program"
      +"page_content": """
        <h2 style="text-align: center;">DBE Policy &amp; Program</h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada se ▶
        <h2 style="text-align: center;">DBE Goal</h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Aliquam feugiat odio ac mattis lobortis. In eget est eget eros viverra pulvin ▶
        <h2 style="text-align: center;">Outreach</h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Nunc quis tincidunt dolor. Donec rutrum mollis porta. Vestibulum vel tincidun ▶
        <h2 style="text-align: center;">FAQs</h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac ▶
        <h2 style="text-align: center;">Resources</h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Fusce a risus eros. Sed et mi vel lacus interdum efficitur vel sit amet orci. ▶
        <h2 style="text-align: center;">Forms</h2>
        <p><span style="font-family: 'Open Sans', Arial, sans-serif; text-align: justify;">Nunc quis tincidunt dolor. Donec rutrum mollis porta. Vestibulum vel tincidun ▶
        """
      +"page_url": "dbe-program"
      +"order_list": 4
      +"created_at": "2019-02-19 18:04:41"
      +"updated_at": "2019-02-19 18:04:41"
    }
  ]
Norbertho's avatar
Level 6

Then maybe try to do the sortBy in the template like this:

@foreach($pages->sortBy('order_list') as $page)

munazzil's avatar

Try as like below

      $pages = DB::table('pages')->orderBy('order_list', 10)->get();

Else

    $pages = DB::table('pages')->orderBy('order_list', 'desc')->get();
laracasts9924's avatar

tks @norbertho and @munazzil for the help.

I did not realize I could sortBy within the blade view. this code works perfectly:

@foreach($pages->sortBy('order_list') as $page)

Please or to participate in this conversation.