如何获取 laravel 中 table 的倒数第二条记录
How do I get the second last record of a table in laravel
我想要我的 table 中的倒数第二条记录并且已经在搜索并且
我试过这个:
$news2 = News::orderBy('created_at', 'desc')->skip(1)->take(1)->get();
但没有任何效果。
我收到此错误:
Property [datum] does not exist on this collection instance. (View: C:\xampp\htdocs\j4ylara\resources\views\user\start.blade.php)
如果我想要最后一个,一切都完美无缺。
$news1 = News::all()->last();
和我的看法一样
<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 »
</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 »
</a>
</div>
</div>
</div>
您收到的错误来自视图,您可能正在为对象调用 "datum" 属性,但其中一个对象不存在:
(View: C:\xampp\htdocs\j4ylara\resources\views\user\start.blade.php)
我觉得查询不错
试试这个
$news2 = News::orderBy('created_at', 'desc')->skip(1)->take(1)->first();
这个return只有一个result
如果你需要更多你需要在blade
里面使用foreach
尝试使用getModel()
代替get()
获取查询结果
试一试:
$news2 = News::orderBy('created_at', 'desc')->offset(1)->take(1)->first();
get()
returns 新闻合集。您必须使用 first()
我明白了啊啊啊啊啊:)
$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'));
我想要我的 table 中的倒数第二条记录并且已经在搜索并且 我试过这个:
$news2 = News::orderBy('created_at', 'desc')->skip(1)->take(1)->get();
但没有任何效果。
我收到此错误:
Property [datum] does not exist on this collection instance. (View: C:\xampp\htdocs\j4ylara\resources\views\user\start.blade.php)
如果我想要最后一个,一切都完美无缺。
$news1 = News::all()->last();
和我的看法一样
<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 »
</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 »
</a>
</div>
</div>
</div>
您收到的错误来自视图,您可能正在为对象调用 "datum" 属性,但其中一个对象不存在:
(View: C:\xampp\htdocs\j4ylara\resources\views\user\start.blade.php)
我觉得查询不错
试试这个
$news2 = News::orderBy('created_at', 'desc')->skip(1)->take(1)->first();
这个return只有一个result
如果你需要更多你需要在blade
foreach
尝试使用getModel()
代替get()
获取查询结果
试一试:
$news2 = News::orderBy('created_at', 'desc')->offset(1)->take(1)->first();
get()
returns 新闻合集。您必须使用 first()
我明白了啊啊啊啊啊:)
$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'));