Laravel父视图中的多个模型绑定表单

时间:2018-06-21 21:11:21

标签: laravel laravelcollective

我要尝试的总体概念是创建在单个刀片视图上具有多个“表单”的管理面板。每个“表单”都是一个blade.php文件,该文件具有一个绑定了模型的表单,以提供对加载时的模型数据的快速访问。例如,假设我正在运行一条生产线,并且我要在Manufacturing.blade.php上@include()的三个模型(子视图)。

  • 父视图(manufacturing.blade.php)
    • 子视图-开始时间(start-time.blade.php)
    • 子视图-吞吐量(throughput.blade.php)
    • 子视图-主管(supervisor.blade.php)

每个子视图上都有一个提交按钮,该按钮将发布到分配的资源控制器。我的问题是,当我从未在子视图上调用索引控制器时,如何成功加载manufacturing.blade.php并包括表单模型绑定。

我要问的甚至可能吗?

1 个答案:

答案 0 :(得分:0)

在发布问题后,我立即弄清楚了它的价值。在子视图内部进行模型绑定所需的变量就是问题。加载父视图页面时,我收到有关变量不可用的错误等等。显然,当我调用子视图时,这些变量不可用,因为它们从未从父视图拉入。换句话说,我正在尝试访问不存在的内容。

解决方案: 在父视图加载控制器中,执行所有必需的db调用,以获取/生成子视图所需的对象。获得对象后,使用

View::share('startTime', $startTime);
View::share('throughput', $throughput);
View::share('supervisor', $supervisor);

该方法(view :: share)允许在父级内部的所有刀片视图之间共享该变量,“ startTime”等。只需确保在您从控制器返回预期的父视图之前添加这些行即可。