php - laravel 中的 Foreach 循环错误(可能)
问题描述
我有一个代码,我想news
在刀片文件中显示所有内容,我在数据库中有大约 30 多个数据,但刀片中只显示 1 条新闻,我不明白为什么会这样。相同的过程用于获取notifications
并且一切正常...xD
我的控制器
public function getNews() {
$news = News::orderBy('date', 'DESC')->paginate();
return view('information.news', [
'news' => $news
]);
}
新闻.blade.php
@if (count($news) > 0)
<div class="row">
@foreach($news as $n)
{{ $n->title }}
@endforeach
</div>
<div class="text-center">
{{ $news->links() }}
</div>
@else
<p>No News</p>
@endif
我尝试复制notification
页面并将变量更改为news
但只有 1 个数据。
当dd($news);
我使用时它给出 38get()
当{{ count($news) }}
我使用时它给出 38get()
但只有1个数据循环显示
解决方案
当您paginate()时,您的结果存储在一个数组中,其中 data 是 key。
例如
{
"total": 50,
"per_page": 15,
"current_page": 1,
"last_page": 4,
"first_page_url": "http://laravel.app?page=1",
"last_page_url": "http://laravel.app?page=4",
"next_page_url": "http://laravel.app?page=2",
"prev_page_url": null,
"path": "http://laravel.app",
"from": 1,
"to": 15,
"data":[
{
// Result Object
},
{
// Result Object
}
]
}
在你的刀片中,像这样使用它:
@foreach($news['data'] as $n)
{{ $n->title }}
@endforeach
推荐阅读
- c++ - 如何在 C++ 中使用带有提交字段的 CURL formadd 上传文件?
- c++ - std::string 改变大小但不满足
- python - 列匹配但在python中打印其他列的值
- r - R:如何总结类别?
- linq - 如何在 LINQ 中写入 count(ColumnName)?
- java - Eclipse Maven 项目点抛出 File.not.Found 错误
- authentication - 如何使用 istio ingress 启用基于 cookie 的身份验证
- python - 查询从 Logistic 回归得到的概率
- swift - 快速的 EXC_BAD_ACCESS
- python-3.x - matplotlib.pyplot 的维护?指定向量时丢失“:”