Laravel按日期和计数分组

用户名

我正在尝试根据start(date)字段的计数向Laravel雄辩的集合添加额外的信息。因此,场景是我有一个“约会”表,我想向雄辩的返回的集合中的对象添加额外的属性(如果有一天有10个以上的约会)。我尝试了很多方法,例如分组和计数,但是没有用。无论如何,下面我有代码,我想我已经很接近了,但是我一直在努力,但是找不到如何使它实现我想要的东西。我想我被困住了,无法再想了。我评论了大部分内容。

        $allAppointments = Appointment::get($columns); //returning all the appointments

        $days = Appointment::get()->groupBy(function ($val) {
                return Carbon::parse($val->start)->format('d');
            }); //here I'm returning appointments by group without the count

        $counter = [];

        foreach ($days as $day => $appointments) {
            foreach ($appointments as $appointment) {

                if (Carbon::parse($appointment->start)->format('d') == $day) {
                    $counter = [Carbon::parse($appointment->start)->format('d') => $day]; //here I'm trying to make an array and count the days but not working
                }
                dd($counter);
                foreach ($allAppointments as $allAppointment) {
                    if (Carbon::parse($allAppointment->start)->format('d') == $day && count($counter) == 10) //here I want to compare the dates and check if that day have more than 10 appointments
                        $allAppointment->setAttribute('backgroundColor', 'red'); //here I want to add the extra information
                }
            }
        }
用户名

在工作了将近10个小时之后,这很奇怪,在这里发布它仅20分钟之后,我就可以使它工作了。代码如下:

public function all()
    {
        $columns = [
            'id',
            'title',
            'start',
            'end',
            'note',
            'allDay',
            'editable',
        ];

        $allAppointments = Appointment::get($columns);
        $days = Appointment::get()
            ->groupBy(function ($val) {
                return Carbon::parse($val->start)->format('d');
            });


        foreach ($days as $day => $appointments) {
            foreach ($appointments as $appointment) {
                foreach ($allAppointments as $key => $allAppointment) {
                    if (Carbon::parse($allAppointment->start)->format('d') == $day && $appointments->count() >= 10){
                        $allAppointment->setAttribute('backgroundColor', 'red');
                    }
                }         
            }
        }

        return $allAppointments;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计数x和按日期y分组

来自分类Dev

Rails 3 ActiveRecord:顺序和按关联计数分组

来自分类Dev

Yii和ActiveRecord按计数分组

来自分类Dev

在同一mongodb查询中选择按计数分组和不重复计数

来自分类Dev

按日期和条目数分组

来自分类Dev

MySQL按日期和计数分组,包括缺少的日期

来自分类Dev

如何汇总集合和按字段计数分组

来自分类Dev

Laravel按日期分组

来自分类Dev

选择ID,计数(ID)和按日期分组

来自分类Dev

按计数分组和汇总:如何保留列名?

来自分类Dev

按计数分组ASP.NET MVC

来自分类Dev

熊猫:按日期和其他变量的中位数分组

来自分类Dev

JSON按计数分组,输出到键值对json结果

来自分类Dev

Linq查询以按日期对项目进行计数和分组

来自分类Dev

mysql计数,然后按该计数分组

来自分类Dev

在MySQL中按计数分组输出?

来自分类Dev

Mysql按年份和计数分组字段

来自分类Dev

mysql Left Join,按计数分组

来自分类Dev

在XQuery中按计数分组

来自分类Dev

Laravel按日期分组

来自分类Dev

按日期分组的多个计数

来自分类Dev

按计数分组和汇总:如何保留列名?

来自分类Dev

按天计数和分组

来自分类Dev

按计数分组查询结果

来自分类Dev

SQL查询:计数,按日期和年份分组的多列

来自分类Dev

SQL按计数分组,其中计数大于

来自分类Dev

mongodb 查询:按日期时间过滤,按 id 和计数分组

来自分类Dev

如何使用 Laravel 按日期对记录进行分组和计数?

来自分类Dev

熊猫:按列和存储计数分组