我正在使用vueJs和laravel后端构建应用程序的聊天部分。我想提取按天分组的邮件。因此,当显示消息时,我希望它们看起来像这样。
`Today
**All messages sent and received today, ordered by time**
Yesterday
**Yesterday's messages**
9/12/2018
**Messages for that day**
在我的聊天模型中,我为此编写了一个访问器;
public function getMessagesAttribute(){
return $this
->groupBy(function($q){
return $q->created_at->format('Y-m-d');
});
但是,这与我在控制器中使用orderBy('created_at','ASC')时得到的结果没有任何不同。我将不胜感激,为您实现我想要的任何帮助/指导。
答案 0 :(得分:0)
您可以将函数的结果输入到以第一个日期开始的循环中,将日期设置为变量,然后将其与下一个日期进行比较,如果下一个日期的值较小,则将其替换为下一个日期带有标题字段以进行分组。
$date=null;
$next_date=null;
while($this) {
$date = $this->created_at;
if($next_date != null && $next_date<$date) {
*put your group title here*;
*put date/message here*;
} else {
*put date/message here*;
}
$next_date=$date;
}
也许用它构建一个数组,或者类似的东西。
答案 1 :(得分:0)
那
ionic cordova add android
需要根据您的需求进行一些调整。但这应该可以解决问题。