首页 > 解决方案 > 我如何将数据发送到控制器

问题描述

我正在建立一个论坛,并且正在尝试实现一个类别页面。该页面目前正在运行,它是动态的,因此它列出了存储在数据库中的所有类别。但是,我希望能够单击一个类别并被带到一个模板页面。从这个模板页面我想传递一个category ID(在数据库中定义为主键)。然后将显示具有匹配类别 ID 的所有帖子。我无法将其传递category ID给我的类别页面模板。

任何帮助将不胜感激!

(类别如何在列表中显示:)

@foreach($categories as $row)
    <div id="newscontainer" class="container">
        <?php $categoryid = $row->id; ?>
        <a href="/category"><span id='categoryname'><?= $row->categoryname ?><br></span></a>
        <span id="categorydescription"><?= $row->categorydescription?></span>
    </div>
    <br>
@endforeach

谢谢!

标签: phplaravel

解决方案


您可以创建一个 Web 路由来处理类别调用并返回具有该类别及其帖子的视图。

首先,您创建这样的路线:

Route::get('category/{category}', 'CategoriesController@show')->name('category.show');

然后您可以Category在控制器内部访问它并加载帖子并像这样返回它们:

public function show(Request $request, Category $category) {
    return view('category.show', compact('category'));
}

然后在您看来,您将有类似这样的内容,您可以在其中循环访问可用的帖子:

@foreach($category->posts as $post)
// do something
@endforeach

要调用路由,您只需创建此链接:

<a href="{{ route('category.show', ['category' => $id]) }}">Show</a>

如我所见,您的基本命名空间是,因此您的班级ULMG的正确方法是CategoryULMG\Category


推荐阅读