dpnvrt3119
2016-05-06 09:04
浏览 99
已采纳

根据包含时间戳的对象值对数组进行排序

First I create 2 different queries.

$first = first::where('id',$request->first_id)->select('name','created_at')->get();
$second = second::where('id', $request->second_id)->select('name','created_at')->get();

I then merge the two resulting arrays.

$data_combine = array_merge($first->toArray(), $second->toArray());

Finally, I'd like to sort the combined arrays in ascending order based on their created_at value, e.g '2016-05-06 16:43:46'.

图片转代码服务由CSDN问答提供 功能建议

首先,我创建了2个不同的查询。

  $ first =  first :: where('id',$ request-> first_id) - > select('name','created_at') - > get(); 
 $ second = second :: where('id',  $ request-> second_id) - > select('name','created_at') - > get(); 
   
 
 

然后合并两个结果 数组。

  $ data_combine = array_merge($ first-> toArray(),$ second-> toArray()); 
    
 
 

最后,我想根据 created_at 值按升序对组合数组进行排序,例如'2016-05-06 16:43:46'。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • drh78568 2016-05-06 09:30
    最佳回答
    $array = array_values(array_sort($data_combine , function ($value) {
        return $value['created_at'];
    }));
    

    You can sort your merged array using array_sort function.

    https://laravel.com/docs/5.0/helpers#arrays

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题