【问题标题】:Laravel - Passing POST data to view from controllerLaravel - 传递 POST 数据以从控制器查看
【发布时间】:2021-04-19 22:31:15
【问题描述】:

我选择了一些 POST 数据(大约 10 项),我想在摘要页面(刀片)上显示这些数据。 我已经成功地将 Request 对象放入控制器中,然后我可以访问所有 POST 数据。

public function summary(Request $request)
    {
        $var1 = $request->input('postdata1');
        $var2 = $request->input('postdata2');
        $var3 = $request->input('postdata3');
        $var4 = $request->input('postdata4');
        $var5 = $request->input('postdata5');   
        
        return view('planner_newsummary', compact('var1','var2','var3','var4','var5'));
    
    }

我的问题是,将所有 POST 数据从 Request 对象发送到 VIEW 的最佳方式是什么?

谢谢 克雷格。

【问题讨论】:

  • return view('planner_newsummary')->with($request->input()) 会将$requestinput 数组中的所有内容作为变量发送,匹配名称$postdata1$postdata2 等。如果您当前的方法很好,如果没有一点重复。

标签: laravel view controller request laravel-blade


【解决方案1】:

您可以使用数组获取请求数据:

$data = $request->all();
return view('planner_newsummary', $data);

(reference)

您还可以通过以下方式排除或仅包含某些数据:

$input = $request->only(['username', 'password']);

$input = $request->only('username', 'password');

$input = $request->except(['credit_card']);

$input = $request->except('credit_card');

(reference)

然后,您可以根据需要将此数据传递到视图中,一旦进入视图,您就可以使用刀片使用 for 循环 (reference) 遍历列表。

这也将为您提供有关 Blade 中关联数组循环的足够信息。 Click.

如果您需要更多说明,请告诉我,

谢谢,

【讨论】:

  • 我在我的视图中检索请求数据时遇到问题。它是一个空对象@Jack
  • 你好@CraigJohnstone,控制器、视图或两者中的数据是空的吗?如果是视图,你可以试试这个:return view("planner_newsummary", ["requests"=>$data]);。然后在视图中使用 $requests。谢谢,
  • 问题是 Compact 返回一个数组,我试图通过 data->flyingFrom(即和对象)提取数据
【解决方案2】:

尝试这样做:

public function summary(Request $request)
    {
        $var1 = $request->input('postdata1');
        $var2 = $request->input('postdata2');
        $var3 = $request->input('postdata3');
        $var4 = $request->input('postdata4');
        $var5 = $request->input('postdata5');

        $data = ["var1" => $var1, "var2" => $var2,...]
        
        return view('planner_newsummary')->with($data);
    
    }

【讨论】:

  • 不确定这是否也有效 return view('planner_newsummary', compact($data)); 但尝试两种方式
猜你喜欢
  • 2015-12-27
  • 1970-01-01
  • 2017-10-12
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 2017-07-27
  • 1970-01-01
  • 2012-12-22
相关资源
最近更新 更多