Search code examples
laravelrecordcss-tables

How do I get the second last record of a table in laravel


I want the second last record from my table and search already and I tried this:

$news2 = News::orderBy('created_at', 'desc')->skip(1)->take(1)->get();

but nothing works.

I get this error:

Property [datum] does not exist on this collection instance. (View: C:\xampp\htdocs\j4ylara\resources\views\user\start.blade.php)

If I want the last one everything works it perfectly.

$news1 = News::all()->last();

and my view is the same

<div class="col-12 col-md-6 news">


    <div class="news-content">
                    <div class="date"><i class="far fa-calendar-alt"></i> {{ $news1->datum }}</div>
                    <h4 class="news-title">{{ $news1->newstitel }}</h4>
                    <p class="news-text">{{ $news1->newsbeschreibung }}</p>
                    <a href="#" class="btn btn-primary">
                        mehr lesen &raquo;
                    </a>
                </div>
            </div>
        </div>
        <div class="row no-gutters news-wrapper">
            <div class="col-12 col-md-6 news-image">
                <img class="img-fluid" src="https://picsum.photos/385/370/?random">
            </div>
            <div class="col-12 col-md-6 news">
                <div class="news-content">
                    <div class="date"><i class="far fa-calendar-alt"></i>{{ $news2->datum }}</div>
                    <h4 class="news-title">{{ $news2->newstitel }}</h4>
                    <p class="news-text">{{ $news2->newsbeschreibung }}</p>
                    <a href="#" class="btn btn-primary">
                        mehr lesen &raquo;
                    </a>
                </div>
            </div>
        </div>

Solution

  • I GET IIIIIIIIIIIT AHHHHHHHHHH :)

    $row = News::count();
            $newsid = $row -2;
            $news1 = News::all()->last();
            $news2 = News::orderBy('created_at', 'desc')->skip($newsid)->take($newsid)->first();
            return view('user/start', compact('news1', 'news2', 'newsid'));