Php 我试图过滤那些只分配到主页类别的帖子(Laravel)
我正在使用Laravel进行一个项目,该网站是一个博客,我遇到了一些问题。我想在主页上浏览最近的帖子(文章),但只浏览那些已经被分配了类别的帖子(文章),但到目前为止,我只是浏览了所有的帖子(文章) 这是我的HomeController索引函数Php 我试图过滤那些只分配到主页类别的帖子(Laravel),php,database,laravel,Php,Database,Laravel,我正在使用Laravel进行一个项目,该网站是一个博客,我遇到了一些问题。我想在主页上浏览最近的帖子(文章),但只浏览那些已经被分配了类别的帖子(文章),但到目前为止,我只是浏览了所有的帖子(文章) 这是我的HomeController索引函数 public function index() { $articles = article::all(); $categories = categories::all(); return view('submissions
public function index()
{
$articles = article::all();
$categories = categories::all();
return view('submissions', ['submissions' => $articles
->filter(function($categories) {
return $categories == 'Test Category';
})]);
}
这是我的主页
@foreach($submissions as $post)
<a id="recentposts" href="/articles/{{ $post->id }}/{{ $post->title
}}" title="{{ $post->title }}">{{
$post->title }}</a><br/>
<hr>
@endforeach
@foreach($post形式提交)
@endforeach
正如您所看到的,我尝试过使用filter,但如果另一个表链接到另一个表(一篇文章链接到一个类别),则尝试使用filter时效果不一样
希望所有这些对你们都有意义。你们可以使用:
它将加载所有类别和附加到每个类别的文章
或者,您可以使用方法仅加载具有类别的文章:
$articles = article::has('category')->all();
是的,这很有效,谢谢!如果我只想浏览链接到某个类别的文章,例如,链接到名为“Weekly talk”类别的所有文章@Jake123如果你想一个接一个地显示所有类别及其所有文章,请使用嵌套foreach。如果只想显示一个类别中的文章,请在视图中执行以下操作:
@foreach($categories->where('name','Weekly talk')->first()->文章作为$article)
。这里您正在处理已加载的集合,因此不会执行任何新查询。我收到此错误“尝试获取非对象的属性”,代码:@if(isset($submissions))@foreach($submissions->where('title','Test Category')->first()->articles as$article)
@Jake123该错误意味着没有标题为“测试类别”的提交。你可以做{{dd($submissions)}}
来检查这一点。不过,我是在浏览文章而不是类别,这就是为什么它说没有名为“测试类别”的类别,谢谢你的帮助:)
$articles = article::has('category')->all();