2017-01-13 21 views
1

我想在將數據導出到excel之前對數據進行排序。這是我一直在使用的代碼:如何在導出.csv文件之前對php laravel中的數據進行排序?

public function getDashboardReport2(){ 
    (...) 
     echo "<tr><td>Group Name</td><td>Unit</td><td>Unit Number</td><td>First Name</td><td>Last Name</td><td>Phone Number</td></tr>"; 

     ($group = \App\Group::find($auth_event->group_id); 
       $bookings = \App\EventBookings::where("group_id", "=", $auth_event->group_id)->get(); 
       if($bookings->count() > 0){ 
        foreach ($bookings as $booking){ 

         $egroup = \App\EventGroup::find($booking->eg_id); // Here I tried orderBy('name'); 
         $chalet = \App\Chalet::find($booking->chalet_id); 
          if($egroup) { 
          $egroup_members = \App\EventGroupMembers::where("eg_id", "=", $egroup->eg_id)->get(); 
          $row = 0; 
           if ($egroup_members->count() > 0) { 
            foreach ($egroup_members as $egroup_member) { 
            $row++; 
            $user = \App\User::find($egroup_member->user_id); 
             if ($user) { 
             $charges = \App\EventBookingCharges::where("user_id", "=", $user->user_id) 
             ->where("booking_id", "=", $booking->booking_id)->get(); 
             $paid_amount = 0; 
             $balance_amount = 0; 
              if ($charges->count() > 0) { 
               foreach ($charges as $charge) { 
                if ($charge->status == 1) { 
                 $paid_amount = $paid_amount + $charge->amount; 
                } else { 
                 $balance_amount = $balance_amount + $charge->amount; 
                } 
               } 
              }) 
           echo "<tr>"; 

            if ($row == 1) { 
            echo "<td>" . $egroup->name . "</td>"; // Sort using this data 
            } else { 
            echo "<td></td>"; 
            } 

            if ($row == 1) { 
            echo "<td>" . ($chalet ? $chalet->name : '') . "</td>"; 
            } else { 
            echo "<td></td>"; 
            } 

           echo "</tr>"; 
           } 
          } 
         echo "<tr><td colspan='9'><br></td></tr>"; 
         } 
        } 
       } 
      } 
     echo "</table>"; 
    } 
} 

如何排序這一個呢?我試過orderBy('name');但它沒有工作。我也嘗試在谷歌搜索它,但所有的教程都是關於排序數組。

+0

將需要更多的內容和代碼。 '$ row'從哪裏來?你在哪裏嘗試'orderBy'?結果來自數據庫嗎? 細節,男人!細節! –

+0

對不起@ChrisSprague,先生。我更新了問題,請檢查。謝謝您的回覆 – Noobs

+0

1.您似乎有很多東西可以在這裏排序。那麼你想要排序的是什麼? 2.這看起來像laravel。也許你應該提到,因爲有排序的可能性,普通的PHP沒有 – Cashbee

回答

0

好吧我想我現在明白你想要點什麼。你想根據他們的egroups的名字訂購預訂!

我害怕我沒有看到直接的答案,除非你不僅保存了預訂表中的eg_id,還保存了eg_name。那麼你可以做抱歉沒有能夠提供一個更好的答案類似

$bookings = \App\EventBookings::where("group_id", "=", $auth_event->group_id)->orderBy('eg_name')->get(); 

但我希望我仍然可以幫助

+0

'EventBookings'裏面只有連接它們的'eg_id'($ egroup)。謝謝您的回覆。我很感激 – Noobs

相關問題