当前位置: 首页 > 知识库问答 >
问题:

通过附加到Laravel中view::composer的控制器方法传递变量

危晨
2023-03-14

我正在尝试在我的网站上进行模块化评论,因此我尝试使用view::composer来运行在调用评论视图时填充评论数据所需的查询,然后我的计划是在我需要评论的任何位置包含评论视图,然后将其连接到数据库中相应的评论表。

我为注释创建的函数适合我创建的每个注释表,并且我让视图生成器工作,现在唯一的事情是,在设置注释视图时,视图生成器正在调用获取所有注释数据的函数,该函数不再具有对传递给它的id的访问权限(通常它位于如下路由中:<代码>路由::get('/{id}','controller@method'); )。

我已经搜索了几个小时,试图找出如何传入变量,但没有成功。。Idk,也许我遗漏了一些真正基本的细节,但我无法找到解决问题的方法,请帮助。。

看起来应该很简单,我尝试过:

$var = Route::get('/{id}', function($id){ return $id; }

我认为这可能会做到这一点,但结果是一个错误,说无论响应是什么都不能转换为字符串


共有1个答案

卜存
2023-03-14
View::composer('comment-view', function($view){
    $id = Route::current()->getParameter('id');
});

在您的控制器中:返回View::make('view-name')-

View::composer('comment-view', function($view){
    $id = $view->commentId;
});

 类似资料:
  • 我想从下拉菜单中选择一个产品类别选项,并显示具有该特定类别的产品。 以下是我认为的形式部分: 正如您所看到的,我通过onchange=“this.form.submit();(如果这不是一个好主意,请建议其他方法,我只是不想使用ajax,因为我还不太擅长它,不管怎样,建议更好的方法)。 然后在我的控制器中,我得到这个选项,并将其转换为数组,在我的模型中使用它。 控制器部分: 我的模型: 在这里我没

  • 我试图检查变量是否正在从控制器传递,但不起作用,控制器函数如下所示: 在客户端刀片中,我用以下代码显示每个刀片的项目: 但我只想在有项目的时候展示,如果没有,我不想展示de。 我正在尝试使用以下代码:

  • 问题内容: 我是laravel的新手,我一直试图将表’student’的所有记录存储到一个变量,然后将该变量传递给视图,以便可以显示它们。 我有一个控制器-ProfileController,里面有一个函数: 我认为我有此代码 我收到此错误:未定义的变量:学生(View:regprofile.blade.php) 问题答案: 你能试试看吗 同时,您可以设置多个类似这样的变量,

  • 我试图将数据传递给controller进行进一步处理,但在controller中得到null,然而js(ajax)的debug无论如何都会显示这个数字。可能是什么问题? Ajax: 控制器:

  • 问题内容: 我想在控制器中调用视图方法,但我不知道如何:)我寻求类似的示例,但没有找到它。我可以在这段代码中这样做吗?我是否必须重新构建?我使用javafx和fxml技术(来构建用户界面)。 我的视图文件(它具有gotoRegister()和gotoLogin()方法(我想调用它们)) 我的控制器(在这里我想调用gotoRegister()方法) 我的问题:我可以调用gotoRegister吗?或

  • 我有一个问题作曲家和Laravel。我找到了很多类似的话题,但它不起作用。所以当我尝试安装Laravel时,它会显示给我:安装laravel/laravel(v5.5.22) > 安装laravel/laravel(v5.5.22):加载从缓存中创建的项目 @php-r“文件存在('.env')| |复制('.env.example','.env');”加载具有包信息更新依赖项(包括require