lundi 26 février 2018

Laravel Add Additional Rows to an Eloquent Object

I want to add an "On This Day" feature which should display records from The Previous Years. I have some Entries, all of them have a 'date' attribute. This is what I've been trying so far:

public function filterByDay($id){
    $entries = Entry::where('id', $id)->get();
    $currentDay = $entries[0]->date;
    $oldestYear = Entry::orderBy('date','asc')->first()->date;
    $previousYear = $currentDay;
    while($previousYear >= $oldestYear ){
        $previousYear = $currentDay->subYear();
        $entries->push(Entry::where('date', $previousYear)->get());
    }
    return view('home')->with(compact('entries'));
}

I must send a Collection of "Entry" type from this controller method so that I can use $entry->title etc in the view. But whenever I'm using $entries->push(...) , I'm getting a Collection instance, not Entry instance. How can I convert the Collection back into Entry instance? Or what is the alternative? I'm using Laravel 5.5. Some help will be much appreciated.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire