簡體   English   中英

按日期對多維數組排序Laravel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM