我创建了一个页面,左侧是类别列表,右侧是线程。使用CRUD在不同的控制器中动态显示类别列表作为线程。一切正常。
ForumThread控制器索引方法:
public function index()
{
$threads = ForumThread::orderBy('id', 'desc')->paginate(10);
$categories = ForumCategory::with('threads')->get();
return view('forum.thread.index', compact('threads', 'categories'));
}
线程属于课程类别,视图类别部分如下所示:
<div class="col-md-3">
<ul class="list-group">
<a href="{{route('forum.index')}}" class="list-group-item">
<span class="badge">{{$threads->count()}}</span>
All categories
</a>
@foreach ($categories as $category)
<a href="#" class="list-group-item">
<span class="badge">{{$category->threads->count()}}</span>
{{$category->name}}
</a>
@endforeach
</ul>
</div>
我想要的是设置href链接以转到属于所单击的特定类别的线程。
我认为我需要一种新方法(我认为因为我不知道如何在索引方法中实现这一点)所以我做了一个:
public function showThreads($id)
{
$showThreads = ForumCategory::with('threads')->findOrFail($id);
return view('forum.thread.index', compact('showThreads'));
}
路线:
Route::get('/forum/category/{id}', 'ForumThreadController@showThreads')->name('category.threads');
当我设置id例如&#39; / forum / category / 3&#39;并尝试函数dd(showThreads-&gt; thread);它向我展示了一个属于该类别id的线程数组。
但是现在我不知道如何在已经适用于类别列表的foreach循环中实现这一点。我试过这样:
<div class="col-md-3">
<ul class="list-group">
<a href="{{route('forum.index')}}" class="list-group-item">
<span class="badge">{{$threads->count()}}</span>
All categories
</a>
@foreach ($categories as $category)
<a href="{{ route('category.threads', $showThreads->id) }}" class="list-group-item">
<span class="badge">{{$category->threads->count()}}</span>
{{$category->name}}
</a>
@endforeach
</ul>
</div>
但它显示错误:未定义变量:线程
任何帮助?