[英]Sort a multidimensional array by date Laravel
我需要按日期對多維數組進行排序。 數據在稱為價格的列中序列化,該列包含幾個值:價格和日期。 我在控制器中對此序列化了序列化,然后得到了$ hlisting-> prices。 我認為這個價格是一個數組,我將按照價格內的數據值對所有$ hlisting進行排序。 (類型$ hlisting-> prices-> date)。
那是一個可能有用的代碼。
<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到視圖的控制器中對它進行排序。
謝謝
我認為在查詢數據庫時最好解決此問題。 在查詢中,您可以使用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對象/數組將已經適當地排序,並且在您的視圖中調用它時,它將自動按日期顯示,然后按價格顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.