2017-09-26 230 views
0

我需要按日期排序多維數組。 數據在稱爲價格的列中序列化,該列包含幾個值:價格和日期。 我在我的控制器中反序列化了這個,我有$ hlisting->價格。 我認爲這個價格是一個數組,我是通過價格內的數據價值對所有的價格進行排序。 (kind $ hlisting-> prices-> date)。排序多維數組按日期Laravel

這可能是有益的代碼。

<div class="price-dates"> 
     @if(!empty($hlisting->prices)) 
      @foreach($hlisting->prices as $prices) 
       <div class="price-date"> 
        <div class="row"> 
         <div class="col-sm-6"> 
          <div class="form-group"> 
           <label>Period</label> 
           {!! Form::text('prices_dates[]', $prices['date'], array('class' => 'date-range form-control')) !!} 
          </div> 
         </div> 
         <div class="col-sm-4"> 
          <div class="form-group"> 
           <label>Value</label> 
           {!! Form::text('prices_values[]', $prices['value'], array('class' => 'numeric form-control')) !!} 
          </div> 
         </div><!--col--> 
         <div class="col-sm-1"> 
          <div class="form-group"> 
           <label>Del</label> 
           <button type="button" class="del-price-date btn btn-sm btn-danger"> 
            <i class="fa fa-trash"></i> 
           </button> 
          </div> 
         </div> 
        </div><!--row--> 
       </div> 
      @endforeach 
     @else 
      <div class="price-date"> 
       <div class="row"> 
        <div class="col-sm-6"> 
         <div class="form-group"> 
          <label>Period</label> 
          {!! Form::text('prices_dates[]', NULL, array('class' => 'date-range form-control')) !!} 
         </div> 
        </div> 
        <div class="col-sm-4"> 
         <div class="form-group"> 
          <label>Value</label> 
          {!! Form::text('prices_values[]', NULL, array('class' => 'numeric form-control')) !!} 
         </div> 
        </div><!--col--> 
       </div><!--row--> 
      </div> 
     @endif 
    </div> 

我想我應該在發送$ hlisting到視圖的控制器中進行排序。

感謝

+0

[PHP分類由含有日期元件多維數組(https://stackoverflow.com/questions/2910611/php-sort-a-multidimensional-array-by-element-containing-date) – BenRoob

+0

EDIT的可能的複製:我不需要排序$ hlisting但只有hlisting- $>價格(即containes值和日期) – FranCode

+0

對不起這是一個對象不是一個數組 – FranCode

回答

0

我想查詢數據庫時,這個問題最好解決。在查詢中,您可以使用ORDER BY語句以特定順序(以您的案例日期和價格)提取行。調用多個排序的將依次分別

查詢他們在Laravel:

$hlisting = Model::where('x', $y)->OrderBy('date','asc')->OrderBy('price','asc')->get();

或通用MySQL查詢字符串:

SELECT * FROM table WHERE x = $y ORDER BY date ASC ORDER BY price ASC

例如。

通過這樣做,你的$ hlisting對象/數組就已經被訂購適當並在您的視圖調用它時,它會顯示自動按日期,然後訂購的價格。