You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel8中Blade接收的控制器查询结果如何回传给其他控制器

问题1:更优雅的一次性提交实现方式

方案1(最推荐):复用查询逻辑

你可以在上层控制器生成$necps时,把对应的查询参数或者整个$necps集合存入当前用户的session,目标控制器直接从session读取即可,既不需要写大量隐藏域,也能避免前端传递数据被篡改的风险,性能和安全性都最优。

方案2:单隐藏域传递序列化结果

不需要循环生成多个输入框,直接把整个集合转为JSON字符串存在单个隐藏域提交:

<input type="hidden" name="parts" value="{{ $necps->toJson() }}">

目标控制器接收后反序列化即可得到完整数据:

$parts = json_decode($request->input('parts'), true);

问题2:通过foreach循环传递完整数组(无JS)

只需要给数组键名加上索引标识,避免键名重复覆盖即可,Blade循环自带$loop变量可以直接作为索引使用,修改你的循环代码如下:

@foreach($necps as $necp)  
     <input value="{{$necp->id_part}}" name="parts[{{$loop->index}}][id]" type="hidden">
     <input value="{{$necp->latitude}}" name="parts[{{$loop->index}}][latitude]" type="hidden">
     <input value="{{$necp->longitude}}" name="parts[{{$loop->index}}][longitude]" type="hidden">
     <input value="{{$necp->nome_part}}" name="parts[{{$loop->index}}][nome_part]" type="hidden">
     <input value="{{$necp->endereco}}" name="parts[{{$loop->index}}][endereco]" type="hidden">
@endforeach

提交后你在目标控制器调用$request->input('parts')就能拿到完整的二维数组,每条数据对应循环中的$necp记录。


内容的提问来源于stack exchange,提问作者Luiz Santa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:18:01