jeudi 16 février 2017

laravel carbon get day names from a date column from a collection

I have this collection from a database where I have a column called "event_date".

What I want is just to get only the day names from that column that comes in a collection.

I know you can use Carbon to get the name days through, for example, a method called ->format(), however I get an error saying that this method does not exist.

My code so far is as follows:

$collection = MyModel::all();

Inside there is the "event_date" property or column. From that, I want to get the names of the days to put them into an array or collection and finally count those days frequencies.

In order to achieve this I have tried the following:

I tried the ->pluck() method as follows:

$filtered = collect([
            'myDates'=>$collection->pluck('event_date'),
        ]);

And the dd($filtered) looks like as follows:

Collection {#209 ▼
  #items: array:1 [▼
    "myDates" => Collection {#243 ▼
      #items: array:30 [▼
        0 => Carbon {#244 ▼
          +"date": "2017-02-05 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
        1 => Carbon {#218 ▼
          +"date": "2017-01-15 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
        2 => Carbon {#250 ▼
          +"date": "2016-09-25 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
        3 => Carbon {#249 ▼
          +"date": "2016-05-22 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
...

I tried to get the day names as follows:

$Daynames = $filtered->each(function($item,$key){
            return $item->myDates->format('l');
        });

But I got the following error:

Undefined property: Illuminate\Support\Collection::$myDates

Any ideas to get only the daynames into an array or collection? Is there another way to do this?



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2kPK3vu
via IFTTT

Aucun commentaire:

Enregistrer un commentaire