laravel雄辩的收集顺序,首先为null,然后提交值

时间:2019-05-07 16:38:29

标签: laravel laravel-5 collections

我有ItemsGroups和这个var keyForGroupA = "A"; var itemsForGroupA = new ObservableCollection<ItemViewModel>(); var item1 = new ItemViewModel(); itemsForGroupA.Add(item1); var item2 = new ItemViewModel(); itemsForGroupA.Add(item2); ... ItemsGroups.Add(new Grouping<string, ItemViewModel>(keyForGroupA, itemsForGroupA); 实例。 HeaderSelectedCommand的结果是

// in constructor:
HeaderSelectedCommand = new Command(p => HeaderSelectedCommandExecute(p));

// property
public ICommand HeaderSelectedCommand { get; private set; }

// action
void HeaderSelectedCommandExecute(object p)
{
    var grp = (Grouping<string, ItemViewModel>)p;
    grp.IsVisible = !grp.IsVisible;
}

我想在end_date之前订购。首先,像这样的desc空值

$items

如何以正确的方式进行操作。 我尝试Illuminate\Database\Eloquent\Collection,但这种情况下空值是结束

1 个答案:

答案 0 :(得分:1)

您应该实现documentation

中提到的自己的排序功能

您可以做类似的事情

$items = $items->sort(function($a, $b) {
    if ($a->end_date == '') { return -1; } // this will set the empty value always before the other
    // pseudo code
    $firstDate = \Carbon::parse($a->end_date);
    $secondDate = \Carbon::parse($b->end_date);
    if ($firstDate->lessThan($secondDate)) { return - 1; }
    if ($firstDate->equalTo($secondDate)) { return 0; }
    return 1;
});